4.8.2.2 Valeur par défaut des arguments
Vous pouvez définir comme en C++ des valeurs par
défaut pour les arguments de type scalaire :
<?php function servir_apero ($type = "ricard") { return "Servir un verre de $type.\n"; } echo servir_apero(); echo servir_apero("whisky"); ?>
|
La fonction ci-dessus affichera :
Servir un verre de ricard.
Servir un verre de whisky.
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.
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 :
<?php function faireunyaourt ($type = "acidophilus", $flavour) { return "Préparer un bol de $type $flavour.\n"; } echo faireunyaourt ("framboise"); // ne fonctionne pas comme voulu ?>
|
L'affiche du code ci-dessus est le suivant :
Warning: Missing argument 2 in call to faireunyaourt() in
/usr/local/etc/httpd/htdocs/PHP 3test/functest.php on line 41
Préparer un bol de framboise.
Maintenant comparons l'exemple précédent avec
l'exemple suivant :
<?php function faireunyaourt ($flavour, $type = "acidophilus") { return "Préparer un bol de $type $flavour.\n"; } echo faireunyaourt ("framboise"); // fonctionne comme voulu ?>
|
L'affichage de cet exemple est le suivant :
Préparer un bol de acidophilus framboise.
|