Des informations peuvent être passées à une fonction en utilisant une liste d'arguments, dont chaque expression est séparée par une virgule.
PHP supporte le passage d'arguments par valeur (méthode par défaut), par référence. Les listes variables d'arguments sont supportées par PHP 4 et les versions plus récentes. Voir liste variable d'arguments de fonction et les fonctions utiles que sont func_num_args(), func_get_arg(), et func_get_args(). On peut arriver au même résultat en PHP 3 en passant un tableau comme argument de la fonction :
Par défaut, les arguments sont passés à la fonction par valeur (donc vous pouvez changer la valeur d'un argument dans la fonction, cela ne change pas sa valeur à l'extérieur de la fonction). Si vous voulez que vos fonctions puissent changer la valeur des arguments, vous devez passer ces arguments par référence.
Si vous voulez qu'un argument soit toujours passé par référence, vous pouvez ajouter un '&' devant l'argument dans la déclaration de la fonction :
Vous pouvez définir comme en C++ des valeurs par défaut pour les arguments de type scalaire :
L'exemple ci-dessus va afficher :
Servir un cappuccino. Servir un espresso. |
PHP vous autorise à utiliser des tableaux ainsi que le type spécial NULL comme valeur par défaut, par exemple :
La valeur par défaut d'un argument doit obligatoirement être une constante, et ne peut être ni une variable, ni un membre de classe, ni un appel de fonction.
Il est à noter que si vous utilisez des arguments avec valeur par défaut avec d'autres sans valeur par défaut, les premiers doivent être placés à la suite de tous les paramètres sans valeur par défaut. Sinon, cela ne fonctionnera pas. Considérons le code suivant :
L'exemple ci-dessus va afficher :
Warning: Missing argument 2 in call to makeyogurt() in /usr/local/etc/httpd/htdocs/php3test/functest.html on line 41 Préparer un bol de framboise. |
Maintenant comparons l'exemple précédent avec l'exemple suivant :
L'exemple ci-dessus va afficher :
Préparer un bol de acidophilus framboise. |
Note : Depuis PHP 5, les valeurs par défaut peuvent être passées par référence.
PHP 4 et suivants supportent les fonctions à nombre d'arguments variable. C'est très simple à utiliser, avec les fonctions func_num_args(), func_get_arg() et func_get_args().
Aucune syntaxe particulière n'est nécessaire, et la liste d'argument doit toujours être fournie explicitement avec la définition de la fonction, et se comportera normalement.
Précédent | Sommaire | Suivant |
Les fonctions | Niveau supérieur | Les valeurs de retour |