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

Barbara Streisand
Libérer: 2024-10-30 13:09:02
original
911 Les gens l'ont consulté

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

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

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

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

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

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!