Menu
Coddy logo textTech

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 admin

Le 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.

challenge icon

Défi

Facile

Lisez deux lignes d’entrée :

  1. Un nom de produit (par ex., Laptop)
  2. 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 Laptop

Exemple 2 :

Si les entrées sont Keyboard et une ligne vide, la sortie doit être :

Order: 1x Keyboard

Exemple 3 :

Si les entrées sont Monitor et 3, la sortie doit être :

Order: 3x Monitor

Essayez 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;
?>
quiz iconTestez-vous

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

Entraînez-vous par vous-même : Compilateur PHP en ligne