6
votes

Comment définir un paramètre facultatif en PHP après le premier paramètre facultatif

Je suis assez nouveau à PHP et j'essaie de comprendre comment définir un paramètre facultatif après le premier paramètre facultatif?

Par exemple, j'ai le code suivant: p>

echo 'with all parama';
testParam('apple','carrot','some string');
//we get:
//with all parama
//$fruit = apple
//$veg = carrot
//Test = some string

echo '<hr> missing veg';
testParam('apple','','something');
//we get:
//missing veg
//$fruit = apple
//$veg = 
//Test = something

echo '<hr> This wont work';
testParam('apple',,'i am set');


0 commentaires

3 Réponses :


2
votes

Malheureusement, vous ne pouvez pas faire cela dans PHP.

Vous devez passer dans 0 ou null ou une autre valeur, puis si la valeur est 0 ou null , changez-la à la valeur par défaut.

Ici est une autre question qui devrait vous donner plus d'informations.


0 commentaires

7
votes

Vous ne pouvez pas faire ce que vous voulez avec juste des paramètres par défaut. Les valeurs par défaut ne s'appliquent qu'aux arguments manquants, et seuls les derniers arguments peuvent être manquants.

Vous pouvez soit ajouter des lignes telles que P> xxx pré>

et appelez la fonction comme

function testparam($parms=false) {
    $default_parms = array('fruit'=>'orange', 'vega'=>'peas', 'starch'=>'bread');
    $parms = array_merge($default_parms, (array) $parms);
    echo '<br>fruit  = $parms[fruit]';
    echo '<br>vega   = $parms[vega]';
    echo '<br>starch = $parms[starch]';
}

testparm('starch'=>'pancakes');
//we get:
//fruit = orange
//vega  = peas
//starch = pancakes


0 commentaires

0
votes

Ceci est la technique que j'utilise: xxx pré>

maintenant pour utiliser la valeur par défaut de n'importe quel paramètre facultatif, passez simplement null comme. P>

testParam('apple', null, 'some string');


0 commentaires