Valeurs par défaut des paramètres
Fait partie de la section Fondamentaux du Journey PHP de Coddy. Leçon 64 sur 71.
Parfois, vous voulez qu’un paramètre de fonction ait une valeur de remplacement lorsqu’aucun argument n’est fourni. Les valeurs par défaut des paramètres vous permettent de définir ce que doit être un paramètre si l’appelant ne le spécifie pas.
Pour définir une valeur par défaut, affectez-la directement dans la déclaration de la fonction à l’aide de l’opérateur = :
<?php
function greet($name = "Guest") {
echo "Hello, $name!\n";
}
greet("Alice");
greet();
?>Cela affiche :
Hello, Alice!
Hello, Guest!Lorsque vous appelez greet("Alice"), l’argument remplace la valeur par défaut. Lorsque vous appelez greet() sans argument, PHP utilise "Guest" à la place.
Vous pouvez mélanger des paramètres obligatoires et facultatifs, mais les paramètres avec des valeurs par défaut doivent venir après les paramètres obligatoires :
<?php
function createUser($name, $role = "member") {
return "$name is a $role";
}
echo createUser("Alice") . "\n";
echo createUser("Bob", "admin");
?>Cela affiche :
Alice is a member
Bob is a adminLe premier paramètre $name est obligatoire, tandis que $role prend par défaut la valeur "member" s’il n’est pas fourni. Ce modèle rend vos fonctions plus flexibles sans obliger les appelants à toujours fournir chaque argument.
Défi
FacileLisez deux lignes d’entrée :
- Un nom de produit (par ex.,
Laptop) - Une quantité (par ex.,
5). Cette entrée peut être vide
Créez une fonction appelée formatOrder qui accepte deux paramètres : $product (requis) et $quantity (facultatif, avec 1 par défaut). La fonction doit retourner une chaîne au format suivant :
Order: [quantity]x [product]Si l’entrée de quantité est vide, appelez la fonction avec uniquement le nom du produit (en utilisant la quantité par défaut). Sinon, appelez-la avec les deux valeurs.
Affichez le résultat retourné.
Exemple 1 :
Si les entrées sont Laptop et 5, la sortie doit être :
Order: 5x LaptopExemple 2 :
Si les entrées sont Keyboard et une ligne vide, la sortie doit être :
Order: 1x KeyboardExemple 3 :
Si les entrées sont Monitor et 3, la sortie doit être :
Order: 3x MonitorEssayez vous-même
<?php
// Lire l'entrée
$product = trim(fgets(STDIN));
$quantity = trim(fgets(STDIN));
// TODO: Créer la fonction formatOrder avec $product (obligatoire) et $quantity (optionnel, par défaut à 1)
// La fonction doit retourner une chaîne au format : "Order: [quantity]x [product]"
// TODO: Appeler la fonction de manière appropriée selon que quantity est vide ou non
// Si quantity est vide, appeler avec seulement product (utiliser la valeur par défaut)
// Sinon, appeler avec product et quantity
// Afficher le résultat
echo $result;
?>Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
4Opérateurs de comparaison et logiques
Opérateurs de comparaisonÉgalité et identitéOpérateurs logiques — Partie 1Opérateurs logiques — Partie 2Récapitulatif — Logique simple2Variables et types de données
NombresChaînes et guillemetsBooléensConventions de nommageRécapitulatif - initialisation des variablesVariables videsConcaténation de chaînesObtenir une saisie utilisateurConvertir vers différents types5Logique conditionnelle
Instruction ifIf - ElseOpérateur ternaireOpérateur de coalescence nulleInstruction switchRécapitulatif - Prendre des décisions3Opérateurs de base
Opérateurs arithmétiquesOpérateur moduloOpérateur d’exponentiationAffectation combinéeIncrémentation/DécrémentationPriorité des opérateursRécapitulatif - Calculs simplesOpérateurs sur les chaînesEntraînez-vous par vous-même : Compilateur PHP en ligne