";"/> ";">
Maison > Article > développement back-end > Explication détaillée de l'utilisation des valeurs par défaut des paramètres des fonctions personnalisées PHP
Tout code PHP valide peut apparaître dans une fonction, même d'autres définitions de fonctions et de classes.
Les noms de fonctions ont les mêmes règles de dénomination que les autres identifiants en PHP. Les noms de fonctions valides commencent par une lettre ou un trait de soulignement, suivis de lettres, de chiffres ou de traits de soulignement.
peut être représenté par expression régulière comme : [a-zA-Z_x7f-xff][a-zA-Z0-9_x7f-xff]*.
phpFonction personnaliséeLors de l'acceptation des paramètres, vous pouvez directement attribuer des valeurs par défaut
function TestStr($str) { return $str."是一个字符串"; } echo TestStr("abcdef")."</br>";
La fonction personnalisée ci-dessus accepte un paramètre Si nous appelons TestStr () ;Quoi. cela se produira-t-il si aucun paramètre n'est donné ?
Signaler directement une erreur : Attention : argument manquant 1 pour TestStr()
Donc, dans le processus de développement, afin d'éviter les erreurs ci-dessus, nous avons généralement devez Lors de la personnalisation de la fonction, attribuez des valeurs par défaut aux paramètres, comme suit
function TestStr2($str="kkkkk") { return $str."是一个字符串"; }
Appelez maintenant TestStr2() sans erreur et affichez directement kkkkk sous forme de chaîne. Bien sûr, les paramètres par défaut le seront. être remplacé après avoir passé les paramètres.
Troisième cas : Lorsque
a plus de 2 paramètres, si toutes les valeurs par défaut ne sont pas données, les valeurs par défaut doivent être données dans l'ordre de droite à gauche. Ce qui suit est une erreur. L'exemple
function TestStr3($str ='mmmmm' ,$para) { return $str."和".$para."都是字符串"; }
Ce qui précède ne donne pas la valeur par défaut de droite à gauche, mais celui le plus à gauche donne une valeur par défaut.
Lorsque nous appelons la fonction TestStr3( "Premier paramètre"); Ce que nous attendons, c'est que le premier paramètre soit remplacé par la valeur par défaut et que le deuxième paramètre soit remplacé par le paramètre entrant. Mais ce n'est pas le cas. Les paramètres sont de gauche à droite. Donc la seconde Non seulement le paramètre n'a pas de valeur transmise, mais il n'a même pas de valeur par défaut, donc une erreur est signalée directement
La valeur par défaut correcte devrait être comme ça
function TestStr3($str,$para='mmmmm') { return $str."和".$para."都是字符串"; }
puis affichez :
Les premiers paramètres et mmmmm sont tous deux des chaînes
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!