WRInaute accro
Bonjour,
J'ai besoin d'utiliser la fonction eval en php pour résoudre mon problème mais je bloque parce que le résultat escompté n'est pas bon
Je m'explique....
Je dois vérifier dynamiquement que 2 valeurs soient présentes dans un array. Par contre merci de ne pas me conseiller de le faire directement dans le code source genre :
QUESTION :
"Pourquoi ne pas mettre in_array(tavaleur1,Array()) && in_array(tavaleur2,Array())?"
REPONSE : "non, parce que c'est valable pour une recherche de 2 valeurs mais aussi bien sur plusieurs! D'où l'avantage de créer une boucle qui va concaténer les conditions! héhéhé j'ai répondu en avance ! loool !"
Bon revenons à nos moutons !
Voilà ma boucle:
pour mes tests, j'ai mis un "echo $operateur;" afin de voir si la construction de ma variable "$operateur" était bonne et elle est ! Pas de problème syntaxique avec l'utilisation de "eval()"! Il me met aucune erreur !
Voici le type de résultat qu'il me sort en faisant un echo sur la variable "$operateur"
C'est là où je suis ennuyé parce que je n'ai pas d'erreurs mais en faisant des tests avec des valeurs existantes dans mon Array principal et il ne passe absolument pas dans ma condition positive !
Est-ce un problème de "cast" parce que je passe d'une chaine string transformée en condition?
Enfin, je ne vois pas là?
Merci de votre aide !
J'ai besoin d'utiliser la fonction eval en php pour résoudre mon problème mais je bloque parce que le résultat escompté n'est pas bon
Je m'explique....
Je dois vérifier dynamiquement que 2 valeurs soient présentes dans un array. Par contre merci de ne pas me conseiller de le faire directement dans le code source genre :
QUESTION :
"Pourquoi ne pas mettre in_array(tavaleur1,Array()) && in_array(tavaleur2,Array())?"
REPONSE : "non, parce que c'est valable pour une recherche de 2 valeurs mais aussi bien sur plusieurs! D'où l'avantage de créer une boucle qui va concaténer les conditions! héhéhé j'ai répondu en avance ! loool !"
Bon revenons à nos moutons !
Voilà ma boucle:
Code:
$monCouple = explode(":",$f);
//initialiser
$ope = "";
for($i=0;$i<count($monCouple);$i++){
$ope .= " in_array($monCouple[$i],$array_id) &&";
if($i+1 == count($monCouple)){
$operateur = substr($ope,0,-2);
if(eval("\"$operateur\";")){
array_push($famille_couple,$f);
//echo $operateur;
}
else{
echo $f.' = '.$operateur.'<br />';
}
}
}
pour mes tests, j'ai mis un "echo $operateur;" afin de voir si la construction de ma variable "$operateur" était bonne et elle est ! Pas de problème syntaxique avec l'utilisation de "eval()"! Il me met aucune erreur !
Voici le type de résultat qu'il me sort en faisant un echo sur la variable "$operateur"
Code:
in_array(1,Array) && in_array(5,Array)
C'est là où je suis ennuyé parce que je n'ai pas d'erreurs mais en faisant des tests avec des valeurs existantes dans mon Array principal et il ne passe absolument pas dans ma condition positive !
Est-ce un problème de "cast" parce que je passe d'une chaine string transformée en condition?
Enfin, je ne vois pas là?
Merci de votre aide !