Utiliser la fonction eval() php pour converti
Résolu/Fermé
devMan
Messages postés
74
Date d'inscription
jeudi 10 décembre 2009
Statut
Membre
Dernière intervention
16 septembre 2010
-
10 déc. 2009 à 10:15
devMan - 11 déc. 2009 à 12:22
devMan - 11 déc. 2009 à 12:22
A voir également:
- Utiliser la fonction eval() php pour converti
- Fonction si et - Guide
- Utiliser chromecast - Guide
- Easy php - Télécharger - Divers Web & Internet
- Utiliser iphone comme webcam - Guide
- Comment utiliser l'ia - Accueil - Guide Intelligence artificielle
9 réponses
ça dépend de l'endroit où se trouve le @. Il doit être avant une expression.
Qu'y a -t-il dans $maCahine ? (qui a encore changé de nom...)
Je note au passage que tu utilises $conditionIf dans ton eval et $condition dans ton test...
Qu'y a -t-il dans $maCahine ? (qui a encore changé de nom...)
Je note au passage que tu utilises $conditionIf dans ton eval et $condition dans ton test...
Bonjour
Ta variable n'est pas une chaine, mais un booléen puisque c'est le résultat d'un test.
Et que sont ces val1, val2 etc...? Pas des variables, le nom devrait commencer par $. Des constantes ? définies comment ?
De plus, $machaine et $maChaine sont deux variables différentes. La casse compte pour les noms de variables
Ta variable n'est pas une chaine, mais un booléen puisque c'est le résultat d'un test.
Et que sont ces val1, val2 etc...? Pas des variables, le nom devrait commencer par $. Des constantes ? définies comment ?
De plus, $machaine et $maChaine sont deux variables différentes. La casse compte pour les noms de variables
Bonjour,
merci de votre reponse,
pour les val...oui ce sont des variable $val1,$val2....
et pour les $machaine et $maChaine = problem de tapage..
en fait j'ai fait ça :
ça marche mais avec un problem de parse.
Si l'une des mes $val contient un '@' il genere une erreur :
merci de m'aider
merci de votre reponse,
pour les val...oui ce sont des variable $val1,$val2....
et pour les $machaine et $maChaine = problem de tapage..
en fait j'ai fait ça :
eval('$conditionIf = '.$maCahine.';'); //puis je fait if ($condition == true) { //traitement }
ça marche mais avec un problem de parse.
Si l'une des mes $val contient un '@' il genere une erreur :
<b>Parse error</b>: syntax error, unexpected '@' in ..... : eval()'d code</b> on line <b>1</b><br />
merci de m'aider
devMan
Messages postés
74
Date d'inscription
jeudi 10 décembre 2009
Statut
Membre
Dernière intervention
16 septembre 2010
15
10 déc. 2009 à 17:37
10 déc. 2009 à 17:37
Re-
pour @ il se trouve dans $maCaine et pour eval j'ai fait comme ça:
pour @ il se trouve dans $maCaine et pour eval j'ai fait comme ça:
$conditionIf = "return(".$conditionIf .");" ; var_dump($conditionIf); var_dump(eval($conditionIf)); if (eval($conditionIf))
$maCaine : 4ème orthographe depuis le début. Je finirai par faire des remarques sur ta rigueur...
Dans ce code, tu ne fais plus le même eval que dans ton message précédent. On ne voit plus où apparaît $maCaine.
Si tu veux que je te dises pourquoi ton expression génère une erreur, donne moi cette expression. Je parle de la valeur de l'expression (la chaîne de caractères, ce que 'voit' eval), pas du code PHP qui te permet de l'obtenir.
Dans ce code, tu ne fais plus le même eval que dans ton message précédent. On ne voit plus où apparaît $maCaine.
Si tu veux que je te dises pourquoi ton expression génère une erreur, donne moi cette expression. Je parle de la valeur de l'expression (la chaîne de caractères, ce que 'voit' eval), pas du code PHP qui te permet de l'obtenir.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
devMan
Messages postés
74
Date d'inscription
jeudi 10 décembre 2009
Statut
Membre
Dernière intervention
16 septembre 2010
15
10 déc. 2009 à 17:53
10 déc. 2009 à 17:53
Re-
merci pour votre reponse et je suis desole pour le nommage des variable.
j'ai fait une boucle sur un tableau afin d'avoit une chaine comme cella :
pour verifier si cette chaine et true ou bien false mais quand je tente de la mettre dans un test il la considrer comme une chaine pour cela j'ai tenté d'utiliser la fonction php eval().
mais avec cette dernier j'ai un problem avec @..
voila mon problem
merci pour votre reponse et je suis desole pour le nommage des variable.
j'ai fait une boucle sur un tableau afin d'avoit une chaine comme cella :
$maChaine = ((val1 == val2) && (val3 == val4) && (val5 == val6));
pour verifier si cette chaine et true ou bien false mais quand je tente de la mettre dans un test il la considrer comme une chaine pour cela j'ai tenté d'utiliser la fonction php eval().
mais avec cette dernier j'ai un problem avec @..
voila mon problem
Tu me dis que tu as un problème avec un @
Je te demande quelle est la chaîne que tu passes à eval
Tu me réponds avec une chaîne qui ne contient pas @, qui soit dit en passant est celle du départ dont tu m'as dit que les val1, val2 étaient en fait des $val
Franchement, comment veux-tu que je te dise où est le problème alors que depuis le début tu ne m'as pas montré une seule fois la chaîne contenant un @ que tu passes à eval ?
Je te demande quelle est la chaîne que tu passes à eval
Tu me réponds avec une chaîne qui ne contient pas @, qui soit dit en passant est celle du départ dont tu m'as dit que les val1, val2 étaient en fait des $val
Franchement, comment veux-tu que je te dise où est le problème alors que depuis le début tu ne m'as pas montré une seule fois la chaîne contenant un @ que tu passes à eval ?
Bonjour,
je pense que j'ai deja dite que j'ai un problem quand l'une de mes variable ($val1,$val2....) contient un '@'.
c a dire @ existe dans mes $val...
par exemple si j'ai $val1= test@test.fr ---> il genere une erreur de parser
je pense que j'ai deja dite que j'ai un problem quand l'une de mes variable ($val1,$val2....) contient un '@'.
c a dire @ existe dans mes $val...
par exemple si j'ai $val1= test@test.fr ---> il genere une erreur de parser
Ceci est ma dernière tentative pour essayer de t'aider
Tu as un problème avec l'utilisation d'une fonction eval
Pourrais-tu s'il te plaît me donner la valeur exacte de la chaîne que tu passes à eval et qui génère ce problème?
J'ai dit "la valeur exacte", c'est à dire la chaîne de caractères telle que eval la reçoit.
Pas une vague description du genre "quand il y a un @" ou quand "$val1=test@test.fr"
Y a-t-il quelque chose que tu ne comprends pas dans ma demande ? Le sens de "valeur" ? Le sens de "chaîne", le sens de "passer une valeur à une fonction" ?
Tu as un problème avec l'utilisation d'une fonction eval
Pourrais-tu s'il te plaît me donner la valeur exacte de la chaîne que tu passes à eval et qui génère ce problème?
J'ai dit "la valeur exacte", c'est à dire la chaîne de caractères telle que eval la reçoit.
Pas une vague description du genre "quand il y a un @" ou quand "$val1=test@test.fr"
Y a-t-il quelque chose que tu ne comprends pas dans ma demande ? Le sens de "valeur" ? Le sens de "chaîne", le sens de "passer une valeur à une fonction" ?
Bonjour,
en fait j'ai trouvé la solution:
merci de votre reponse
en fait j'ai trouvé la solution:
foreac ($listeObjet as àobjet) { if($i != 0) { $condition = $condition . " ". $operateurLogique . " ('$valeurA' == '$valeurB') " ; } else { $condition = " ('$valeurA' == '$valeurB') " ; } $i = $i + 1; } $condition = "return(".$condition .");" ; echo $condition; var_dump(eval($condition)); if (eval($condition)) //des traitement else //des traitement
merci de votre reponse