Titre: parametres optionnels dans une fonction
Posté par: Xorbuk le le 15-04-2005 a 16:28:21
Slt a tous, je cherche a savoir si il est possible d'avoir des arguments optionnels pour des fonctions en php. J'ai bien regardé sur php.net, mais je n'ai pas trouvé mon bonheur :'( http://www.php.net/manual/fr/functions.arguments.php (http://www.php.net/manual/fr/functions.arguments.php)
J'ai bien trouvé comment avoir des valeurs par défaut pour les arguments, mais pas qui les rends réellement optionnel.
voila mon exemple: function test($param1, $param2=2, $param3=3){ ... }
je peux faire test(1); sans pb. $param1 sera à 1, $param2 à 2, $param3 à 3
mais si je veux definir le $param1 et le $param3 je suis aussi obliger de definir le $param2!! test(1,2,3); alors que ce que je cherche ça serait du genre test(1,,3); avec le deuxieme parametre qui aurait ça valeur par défaut. Je sais que c'est possible avec les fonctions internes (echo(), mysql_connect()....). Mais avec mes propores fonctions pas moyen de trouver.
|
Titre: Re:parametres optionnels dans une fonction
Posté par: MFred le le 15-04-2005 a 16:55:38
Normalement, tes fonctions doivent prendre leurs arguments dans un ordre logique, et pour définir un argument, tu dois renseigner tous ceux qui se situent avant.
Quand tu regardes la fonction mysql_connect dans la doc, voilà comment elle est représentée :
Code:
| mysql_connect ( [string server [, string username [, string password [, bool new_link [, int client_flags]]] ) |
|
L'argument server est donc nécessaire si l'on veut placer l'argument username, lui-même nécessaire si l'on veut placer l'argument password ... |
Titre: Re:parametres optionnels dans une fonction
Posté par: nyrodev le le 23-04-2005 a 21:34:30
Si vraiment tu as besoin de faire ça, tu peux toujours définir tes variables par défaut dans un fichier que tu inclus en début de page, et si tu as besoin de changer, ben tu modifies simplement cette variable. De cette façon, tu auras le résultat obtenu... |
Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.
|