Variables optionnelles dans une fonction

Mammouth du PHP | 555 Messages

06 oct. 2007, 15:24

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é...
A+ et bon surf!!!!

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

06 oct. 2007, 15:40

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
Quand tout le reste a échoué, lisez le mode d'emploi...

ViPHP
ViPHP | 5924 Messages

06 oct. 2007, 15:40


Mammouth du PHP | 19672 Messages

06 oct. 2007, 15:42

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.)
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

06 oct. 2007, 15:47

/me a grillé Sékiltoyai et Cyrano en même temps!
/me est content :D
Quand tout le reste a échoué, lisez le mode d'emploi...

Mammouth du PHP | 555 Messages

06 oct. 2007, 15:47

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.
A+ et bon surf!!!!

ViPHP
ViPHP | 5924 Messages

06 oct. 2007, 15:55

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…

Mammouth du PHP | 555 Messages

06 oct. 2007, 16:31

Ah ok c'est pour ca que j'avais vu ces crochets sur certains tutos... Merci!
A+ et bon surf!!!!