Maison  >  Article  >  développement back-end  >  Comment remplacer les arguments de fonction par défaut en PHP ?

Comment remplacer les arguments de fonction par défaut en PHP ?

DDD
DDDoriginal
2024-11-02 10:55:31806parcourir

How to Override Default Function Arguments in PHP?

Remplacement des arguments de fonction par défaut

Lors de la déclaration de fonctions PHP avec des arguments par défaut, il est important de comprendre comment remplacer ces valeurs tout en utilisant la valeur par défaut. argument pour les autres. 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 tout en définissant une valeur différente pour $y, les tentatives incorrectes suivantes ne fonctionneront pas :

<code class="php">foo("blah", null, "test");
foo("blah", "", "test");</code>

Comme elles n'attribuez pas la valeur par défaut souhaitée à $x. De plus, tenter de définir l'argument par nom de variable :

<code class="php">foo("blah", $x, $y = "test");</code>

ne parvient pas à produire le résultat attendu.

Pour obtenir le comportement souhaité, envisagez de modifier la déclaration de fonction comme suit :

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

Maintenant, il est possible d'invoquer la fonction avec des variantes telles que :

<code class="php">foo('blah', null, 'non-default y value');</code>

et de lui faire définir $x à la valeur par défaut tout en remplaçant $y.

C'est Il est important de noter que les paramètres par défaut ne s'appliquent qu'aux derniers arguments de la définition de la fonction. Si plusieurs paramètres suivent le paramètre facultatif avec la valeur par défaut, il n'est pas possible d'en omettre un et de préciser le suivant.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn