Utilisation d'arguments par défaut dans une fonction
Lors de la création de fonctions PHP, vous pouvez spécifier des valeurs par défaut pour les arguments afin d'offrir de la flexibilité et de réduire le besoin de affectation explicite. Cependant, définir différents arguments pour les paramètres plus tard dans la déclaration de fonction peut parfois prêter à confusion.
Considérez la fonction suivante :
<code class="php">function foo($blah, $x = "some value", $y = "some other value") { // code here! }</code>
Pour utiliser l'argument par défaut pour $x et définir une valeur différente pour $y, transmettez simplement null pour $x comme suit :
<code class="php">foo("blah", null, "test");</code>
Cela attribue la valeur par défaut "une certaine valeur" à $x tout en remplaçant la valeur par défaut pour $y.
Cependant, tenter de définir $x par son nom de variable (par exemple, foo("blah", $x, $y = "test")) ne fonctionnera pas comme prévu. En effet, les arguments par défaut ne peuvent être appliqués qu'aux derniers paramètres de la définition de la fonction.
Pour résoudre cette limitation et permettre une gestion plus dynamique des arguments, vous pouvez modifier la déclaration de fonction en tant que telle :
<code class="php">function foo($blah, $x = null, $y = null) { if (null === $x) { $x = "some value"; } if (null === $y) { $y = "some other value"; } // code here! }</code>
Avec cette approche, vous pouvez transmettre des valeurs nulles pour des paramètres spécifiques afin d'utiliser leurs valeurs par défaut tout en remplaçant d'autres comme ceci :
<code class="php">foo("blah", null, "non-default y value");</code>
Dans cet exemple, $x recevra sa valeur par défaut tandis que $ y se verra attribuer la valeur autre que celle par défaut spécifiée.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!