Menu
Coddy logo textTech

Default Parameter Values

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 repli lorsque aucun argument n'est fourni. Les valeurs par défaut des paramètres vous permettent de définir ce qu'un paramètre doit être si l'appelant ne le spécifie pas.

Pour définir une valeur par défaut, assignez-la directement dans la déclaration de la fonction en utilisant l'opérateur = :

<?php
function greet($name = "Guest") {
    echo "Hello, $name!\n";
}

greet("Alice");
greet();
?>

Cela produit en sortie :

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 requis et optionnels, mais les paramètres avec des valeurs par défaut doivent venir après les requis :

<?php
function createUser($name, $role = "member") {
    return "$name is a $role";
}

echo createUser("Alice") . "\n";
echo createUser("Bob", "admin");
?>

Cela produit :

Alice is a member
Bob is a admin

Le premier paramètre $name est requis, 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 à fournir toujours tous les arguments.

challenge icon

Défi

Facile

Lisez deux lignes d'entrée :

  1. Un nom de produit (par exemple, Laptop)
  2. Une quantité (par exemple, 5) — cette entrée peut être vide

Créez une fonction appelée formatOrder qui accepte deux paramètres : $product (obligatoire) et $quantity (optionnel, par défaut 1). La fonction doit retourner une chaîne dans le format suivant :

Order: [quantity]x [product]

Si l'entrée de quantité est vide, appelez la fonction avec seulement 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

Aide-mémoire

Les valeurs par défaut des paramètres permettent de définir des valeurs de repli pour les paramètres de fonction lorsque aucun argument n'est fourni.

Pour définir une valeur par défaut, assignez-la dans la déclaration de la fonction en utilisant = :

<?php
function greet($name = "Guest") {
    echo "Hello, $name!\n";
}

greet("Alice");  // Hello, Alice!
greet();         // Hello, Guest!
?>

Lorsque vous mélangez des paramètres requis et optionnels, les paramètres avec des valeurs par défaut doivent venir après les paramètres requis :

<?php
function createUser($name, $role = "member") {
    return "$name is a $role";
}

echo createUser("Alice");           // Alice is a member
echo createUser("Bob", "admin");    // Bob is a admin
?>

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 (requis) 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 à la fois 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