paramètre pas fonctionnel dans une fonction [PHP] - PHP - Programmation
Marsh Posté le 22-03-2013 à 14:36:34
quand tu fais un print_r(func_get_args()); dans ladite fonction, $remplacer vaut true ou false?
Marsh Posté le 22-03-2013 à 15:46:53
parcourir_repertoire('\\\Info12\\InfoProvider\\83240C01','toto','XXXXX',false);
Array ( [0] => \\Info12\www\InfoProvider\83240C01 [1] => toto [2] => XXXXX [3] => )
et
parcourir_repertoire('\\\Info12\\InfoProvider\\83240C01','bdd.php','XXXXX',true);
Array ( [0] => \\Info12\www\InfoProvider\83240C01 [1] => toto [2] => XXXXX [3] => 1 )
par contre si j'agis directement sur le parametre de la fonction (dans la declaration même de la fonction), tout fonctionne
(merci de ton aide!)
Marsh Posté le 25-03-2013 à 11:46:32
Je comprends pas, le 2ème array renvoie les bonnes valeurs puisque lorsque tu mets "true", t'as 1 comme valeur donc c'est bon. je vois pas ton pb
Marsh Posté le 25-03-2013 à 13:14:14
oui, moi non plus je comprends pas!
c'est bien les arguments à l’intérieure de la fonction que j'affiche, elle prend bien les paramètres d'appel, mais elle utilise la valeur "par defaut" de la declaration de la fonction...
edit en revenant dessus, j'ai trouvé!
mon parcourir_repertoire() est une function recursive qui s'appelle elle-m^me, et dans l'appel interne, je ne passais pas mon paramètre $remplacer, elle prenait donc la valeur par defaut, soit false, quand elle s'appelait m^me!
Merci de t'être intéressé à mon pb!ça m'a quand même bien aidé!
Marsh Posté le 25-03-2013 à 16:00:36
T'aurais posté le code entier de la fonction aussi, on l'aurait vu de suite
Au passage, je te déconseille le récursif. Pas top niveaux perfs et consomme trop de ressources. Fait plutôt de l'itératif
Marsh Posté le 22-03-2013 à 11:27:03
bonjour,
j'ai un soucis dans le passage de paramètre dans une fonction :
j'ai une function qui parse des dossiers et fichier et remplace si necessaire une chaine de caractere, elle fonctionne tres bien, ci dessous la declaration
function parcourir_repertoire($repertoire,$recherche,$replace,$remplacer=false)
{
...
}
avec le parametre $remplacer par defaut à false je peux choisir de remplacer ou simplement afficher le resultat de la recherche
jusque là tout fonctionne bien, mais c'est quand j'appelle la fonction que ça ne fonctionne pas correctement :
le dernier paramètre (donc $remplacer) n'est jamais pris en compte, je peux mettre true, la fonction n'en fera qu'a sa tête et prendra quand m^me false
parcourir_repertoire('\\\Info12\\InfoProvider\\83240C01','bdd.php','XXXXX',true);
je ne comprend pas pourquoi mon $remplacer=false prend systématiquement le pas sur les paramètre de l'appel?
help!
merci
Message édité par golumest le 22-03-2013 à 11:48:57