Déclarer une fonction
Une fonction est un bloc de code réutilisable. Au lieu de répéter le même code, vous l'appelez par son nom :
function saluer($nom) {
return "Bonjour, $nom !";
}
echo saluer("Alice"); // → Bonjour, Alice !
echo saluer("Bob"); // → Bonjour, Bob !
Anatomie :
function— le mot-clé pour déclarer$nom— le paramètre (l'entrée)return— la valeur renvoyée (la sortie)
Paramètres et valeurs par défaut
function calculerPrix($prix, $tva = 0.20) {
return $prix * (1 + $tva);
}
echo calculerPrix(100); // → 120 (TVA par défaut : 20%)
echo calculerPrix(100, 0.055); // → 105.5 (TVA réduite : 5.5%)
Le paramètre $tva a une valeur par défaut de 0.20. Si on ne le passe pas, PHP utilise cette valeur.
Fonctions natives utiles
PHP a des centaines de fonctions intégrées. Voici les plus courantes :
// Chaînes
echo strlen("Bonjour"); // → 7 (longueur)
echo strtolower("ALICE"); // → alice
echo strtoupper("alice"); // → ALICE
echo str_replace("monde", "PHP", "Bonjour monde"); // → Bonjour PHP
echo trim(" hello "); // → "hello" (supprime espaces)
echo substr("Bonjour", 0, 3); // → Bon
// Nombres
echo number_format(1234567.89, 2, ',', ' '); // → 1 234 567,89
echo round(3.7); // → 4
echo ceil(3.2); // → 4
echo floor(3.9); // → 3
// Date
echo date("d/m/Y"); // → 27/05/2026
echo date("H:i"); // → 14:30
echo date("l"); // → Tuesday
Boucles : for, while, foreach
// for — quand on connaît le nombre d'itérations
for ($i = 1; $i <= 5; $i++) {
echo "<p>Ligne $i</p>";
}
// while — tant qu'une condition est vraie
$compteur = 0;
while ($compteur < 3) {
echo $compteur . " ";
$compteur++;
}
// → 0 1 2
// foreach — pour parcourir un tableau (le plus utilisé)
$langages = ["PHP", "JavaScript", "Python"];
foreach ($langages as $langage) {
echo "<li>$langage</li>";
}
// foreach avec clé et valeur
$prix = ["pain" => 1.20, "lait" => 0.95];
foreach ($prix as $produit => $montant) {
echo "$produit : {$montant}€ <br>";
}
L'expression match (PHP 8)
PHP 8 a introduit match, une alternative plus élégante au switch :
$status = "published";
$label = match($status) {
'draft' => 'Brouillon',
'published' => 'Publié',
'archived' => 'Archivé',
default => 'Inconnu',
};
echo $label; // → Publié
Avantages de match : pas de break nécessaire, comparaison stricte (===), et c'est une expression (on peut l'assigner à une variable).
Declaring a function
A function is a reusable code block. Instead of repeating the same code, you call it by name:
function greet($name) {
return "Hello, $name!";
}
echo greet("Alice"); // → Hello, Alice!
echo greet("Bob"); // → Hello, Bob!
Anatomy:
function— the keyword to declare$name— the parameter (input)return— the returned value (output)
Parameters and default values
function calculatePrice($price, $vat = 0.20) {
return $price * (1 + $vat);
}
echo calculatePrice(100); // → 120 (default VAT: 20%)
echo calculatePrice(100, 0.055); // → 105.5 (reduced VAT: 5.5%)
The $vat parameter has a default value of 0.20. If not passed, PHP uses this value.
Useful built-in functions
PHP has hundreds of built-in functions. Here are the most common:
// Strings
echo strlen("Hello"); // → 5 (length)
echo strtolower("ALICE"); // → alice
echo strtoupper("alice"); // → ALICE
echo str_replace("world", "PHP", "Hello world"); // → Hello PHP
echo trim(" hello "); // → "hello" (removes spaces)
echo substr("Hello", 0, 3); // → Hel
// Numbers
echo number_format(1234567.89, 2, '.', ','); // → 1,234,567.89
echo round(3.7); // → 4
echo ceil(3.2); // → 4
echo floor(3.9); // → 3
// Date
echo date("d/m/Y"); // → 27/05/2026
echo date("H:i"); // → 14:30
echo date("l"); // → Tuesday
Loops: for, while, foreach
// for — when you know the number of iterations
for ($i = 1; $i <= 5; $i++) {
echo "<p>Line $i</p>";
}
// while — as long as a condition is true
$counter = 0;
while ($counter < 3) {
echo $counter . " ";
$counter++;
}
// → 0 1 2
// foreach — to loop through arrays (most used)
$languages = ["PHP", "JavaScript", "Python"];
foreach ($languages as $language) {
echo "<li>$language</li>";
}
// foreach with key and value
$prices = ["bread" => 1.20, "milk" => 0.95];
foreach ($prices as $product => $amount) {
echo "$product: \${$amount} <br>";
}
The match expression (PHP 8)
PHP 8 introduced match, a more elegant alternative to switch:
$status = "published";
$label = match($status) {
'draft' => 'Draft',
'published' => 'Published',
'archived' => 'Archived',
default => 'Unknown',
};
echo $label; // → Published
Advantages of match: no break needed, strict comparison (===), and it's an expression (you can assign it to a variable).
Copiez ce prompt dans Claude ou ChatGPT :
Écris une fonction PHP qui prend un tableau de notes (0 à 20) et renvoie la moyenne, la note la plus haute et la plus basse. Utilise les fonctions natives array_sum, count, min, max.
strlen("PHP") ?