À l'aide d'un tableau comme paramètre par défaut dans une fonction PHP
Est-il possible d'utiliser un tableau comme paramètre par défaut dans une fonction PHP?
Je voudrais faire la chose suivante:
$arr = array(1,2,3,4);
function sample($var1, $var2, $var3 = $arr){
echo $var1.$var2;
echo print_r($var3);
}
sample('a','b');
//Should still work without the third parameter and default to $arr
Non,
$var3 = array(1,2,3,4)
serait un travail même si.OriginalL'auteur Jasdeep Khalsa | 2013-01-22
Vous devez vous connecter pour publier un commentaire.
Non, ce n'est pas possible, la main droite de l'expression de la valeur par défaut doit être une constante ou littéral de tableau, c'est à dire
Si vous voulez que ce comportement, vous pouvez utiliser une fermeture:
Vous pouvez également exprimer avec une classe:
array
danstest($var1, $var2, array $var3 = null)
valide notation? C'est du jamais vu!Je viens d'un JavaScript arrière-plan pour les classes PHP sont un peu étrange pour moi, donc je préfère largement la fermeture!
Il est valide, la valeur doit être un tableau ou la valeur par défaut
null
.L'exemple de classe, c'est comme
Sample = { arr: [1,2,3,4], test: function(v1, v2, v3) { v3 = v3 || this.arr }}
L'argument est soit un tableau, ou la valeur null, ce qui devrait répondre à votre question 🙂
OriginalL'auteur Ja͢ck
Vous ne pouvez pas passer
$arr
dans la définition de la fonction, vous aurez à faire:ou, si vous voulez être vraiment sale (je ne le recommande pas..):
OriginalL'auteur Prisoner