Maison  >  Article  >  développement back-end  >  Comment remplacer des arguments par défaut spécifiques dans les fonctions PHP ?

Comment remplacer des arguments par défaut spécifiques dans les fonctions PHP ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-30 13:09:02956parcourir

How to Override Specific Default Arguments in PHP Functions?

Utilisation avancée des arguments par défaut dans les fonctions PHP

En PHP, les arguments par défaut offrent une flexibilité aux fonctions, permettant aux développeurs de définir des valeurs de secours pour les paramètres. Cependant, lorsqu'il s'agit de plusieurs arguments par défaut, il peut être déroutant de remplacer sélectivement certains arguments tout en conservant les valeurs par défaut pour d'autres.

Question :

Disons que nous avons un fonction avec des arguments par défaut :

<code class="php">function foo($blah, $x = "some value", $y = "some other value") {
    // code here!
}</code>

Comment pouvons-nous utiliser l'argument par défaut pour $x mais définir une valeur différente pour $y ?

Solution :

La clé pour y parvenir est de modifier la déclaration de la fonction :

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

Cet ajustement vous permet d'appeler la fonction comme suit :

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

Dans ce cas, $x conserve sa valeur par défaut, tandis que $y est remplacé par la valeur autre que celle par défaut spécifiée.

Considérations supplémentaires :

  • Par défaut, les paramètres PHP fonctionnent uniquement comme les derniers arguments d'une fonction. Il n'est pas possible d'omettre un paramètre et de remplacer la valeur d'un paramètre qui le suit.
  • Lorsque vous traitez un nombre variable de paramètres de types différents, envisagez de déclarer une fonction avec un nombre variable d'arguments, comme indiqué dans le exemple suivant :
<code class="php">public function __construct($params = null) {
    // code here!
}</code>

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