Page 1 sur 1

Variables optionnelles dans une fonction

Posté : 06 oct. 2007, 15:24
par cicom
Bonjour à tous!
Encore une fois ca faisait longtemps que je n'étais pas venu vous embêter un peu :lol:
Alors voila je voudrais pour rendre une variable d'entrée d'une fonction faite main optionnelle et faire que si elle n'est pas activée lors de l'appel de la fonction, elle soit mise à 0
Qui sait comment faire?
Merci à tous de votre aide!
PS j'ai fait ma recherche sur google mais tout ce que j'ai trouvé et testé n'a pas marché...

Re: Variables optionnelles dans une fonction

Posté : 06 oct. 2007, 15:40
par @rthur
je voudrais pour rendre une variable d'entrée d'une fonction faite main optionnelle et faire que si elle n'est pas activée lors de l'appel de la fonction, elle soit mise à 0
Bonjour,

J'ai du m'y reprendre à 3 fois pour comprendre ce que tu avais écrit. ;-)
Je pense que cette page de la doc devrait répondre à ta question:
http://www.php.net/manual/fr/functions. ... ts.default

Posté : 06 oct. 2007, 15:40
par Sékiltoyai

Posté : 06 oct. 2007, 15:42
par Cyrano
Si tu parles d'un paramètre de fonction avec une valeur par défaut, c'est tout à fait possible :
function maFonction($param = 0)
{
    //... code à exécuter;
}
De cette manière lorsque tu appelles ta fonction, soit tu envoies une valeur en paramètre, soit tu n'envoies rien auquel cas dans le code de la fonction, la variable aura par défaut la valeur 0 (ou autre chose si tu mets autre chose.)

Posté : 06 oct. 2007, 15:47
par @rthur
/me a grillé Sékiltoyai et Cyrano en même temps!
/me est content :D

Posté : 06 oct. 2007, 15:47
par cicom
Merci à tous!
Ok, la solution qui consistait à mettre function fct1($sp1 [, $sp2 = 0]) et que j'avais testée avant de poster le message n'est pas (ou plus) d'actualité...
Pour ceux qui auraient le même problème que moi il faudra juste mettre function fct1($sp1, $sp2 = 0)
Encore une fois Cyrano tu résouds mes problèmes :wink:

Je mets résolu.

Posté : 06 oct. 2007, 15:55
par Sékiltoyai
Pour le truc du function fct1($sp1 [, $sp2 = 0]) , les crochets, c'est dans la doc, quand un paramètre est optionnel, on utilise des crochets comme symbolisme, mais cela n'a aucune valeur syntaxique, par exemple, une fonction écrite syntaxiquement :
function test ( $arg1, $arg2 = 0 )
{
   return array($arg2 => $arg1);
}
sera symbolisée de cette manière : array test ( string $arg1 [, int $arg2] ) dans la documentation, même si les types ou les crochets sont syntaxiquement incorrects dans un prototype de fonction en php…

Posté : 06 oct. 2007, 16:31
par cicom
Ah ok c'est pour ca que j'avais vu ces crochets sur certains tutos... Merci!