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

DDD
Libérer: 2024-11-02 10:55:31
original
805 Les gens l'ont consulté

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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

<code class="php">foo('blah', null, 'non-default y value');</code>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal