Arguments de fonction
bloodchecker
Messages postés
361
Statut
Membre
-
le père -
le père -
Bonjour,
Petit challenge PHP qui s'offre à moi et je ne m'en sort pas.
J'ai une fonction f1() qui reçoit un nombre illimité d'argument.
on peut avoir un appel :
ou bien
Dans cette fonction f1, j'appelle une seconde fonction f2() à laquelle je doit repasser les arguments reçu par f1(). Et la, c'est le drame, car si je sait trouver mes arguments avec func_get_args(), je ne sait pas comment les repasser à une autre fonction. Impossible de faire une fantaisie du genre :
J'en appelles à votre aide en espérant avoir été le plus clair possible :/
Petit challenge PHP qui s'offre à moi et je ne m'en sort pas.
J'ai une fonction f1() qui reçoit un nombre illimité d'argument.
on peut avoir un appel :
f1('toto', 'tutu');
ou bien
f1('titi', 1, 'toto');
Dans cette fonction f1, j'appelle une seconde fonction f2() à laquelle je doit repasser les arguments reçu par f1(). Et la, c'est le drame, car si je sait trouver mes arguments avec func_get_args(), je ne sait pas comment les repasser à une autre fonction. Impossible de faire une fantaisie du genre :
f1()
{
f2(
foreach(func_get_args() as $argument)
{
echo $argument;
,
}
);
}
J'en appelles à votre aide en espérant avoir été le plus clair possible :/
1 réponse
-
Bonjour
Avec un foreach, tu dois pouvoir fabriquer la chaîne "f2('titi',1,'toto')" et appeler eval (cette chaîne)-
-
Je suis bien d'accord que ce n'est pas joli-joli, sans parler de la grosse faille de sécurité si tu ne prends pas un max de précautions si tes paramètres viennent de l'extérieur. Mais j'avais déjà réfléchi au sujet et rien trouvé de mieux.
Surtout, si tu trouves plus propre, reviens le mettre ici pour nous en faire profiter.
-