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

Linda Hamilton
Libérer: 2024-10-30 21:18:03
original
614 Les gens l'ont consulté

How to Override Default Function Arguments in PHP While Maintaining Others?

Remplacement des arguments de fonction par défaut en PHP

Les fonctions PHP prennent en charge l'utilisation d'arguments par défaut pour définir des valeurs de secours lors de l'appel de la fonction. Cependant, définir un argument spécifique tout en conservant la valeur par défaut de ses arguments précédents peut s'avérer difficile.

Considérez la fonction suivante :

<code class="php">function foo($blah, $x = "some value", $y = "some other value") {
}</code>
Copier après la connexion

Les arguments par défaut pour $x et $y sont "certains valeur » et « une autre valeur », respectivement. Mais que se passe-t-il si vous souhaitez remplacer la valeur par défaut de $y tout en utilisant la valeur par défaut de $x ?

Remplacement avec des valeurs nulles

Tentatives de remplacement de la valeur par défaut en utilisant null, telles que :

<code class="php">foo("blah", null, "test"); // Does not work</code>
Copier après la connexion

ou

<code class="php">foo("blah", "", "test"); // Does not work</code>
Copier après la connexion

ne donnera pas le résultat souhaité.

Définition par nom de variable

Une autre approche, attribuant la variable par défaut à un nom nommé variable, comme :

<code class="php">foo("blah", $x, $y = "test");</code>
Copier après la connexion

ne parvient pas non plus à remplacer la valeur par défaut.

Solution de contournement pour le remplacement

Pour surmonter ce défi, modifiez 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>
Copier après la connexion

Cela vous permet de passer des appels comme :

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

tout en conservant la valeur par défaut de $x.

Remarque :Arguments par défaut uniquement fonctionnent comme derniers arguments de la fonction. Omettre un paramètre et remplacer un paramètre suivant n'est pas possible lors de la déclaration de valeurs par défaut dans la définition de la fonction.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!