Evaluer une expression avec php
Mathiou
-
Mathiou -
Mathiou -
Bonjour,
j'ai un programme ou je recuper une expression sous forme de chaine de caractere,
mon souci est que je ne parvien pas a evaluer la chaine. ci-dessous l'exemple
je veux donc calculer 300.00*2 puis faire le test d'égalité avec 140 pour recuperer true ou false
merci d'avance !
j'ai un programme ou je recuper une expression sous forme de chaine de caractere,
mon souci est que je ne parvien pas a evaluer la chaine. ci-dessous l'exemple
$Expression = '300.00*2==140';
je veux donc calculer 300.00*2 puis faire le test d'égalité avec 140 pour recuperer true ou false
merci d'avance !
A voir également:
- Evaluer une expression avec php
- Evaluer performance pc - Guide
- Easy php - Télécharger - Divers Web & Internet
- Expression écrite cm1 cm2 télécharger gratuit - Télécharger - Éducatifs
- Microsoft expression encoder - Télécharger - Divers Utilitaires
- Expert php pinterest - Télécharger - Langages
3 réponses
Mathiou
oui mais le probleme est que j'ai deja consulté le site mais je ne me suis pas encore tiré d'affaire
Heu.. tu peux faire peut-être un truc dans le genre :
Mais l'inconvénient est que si $Expression est modifiable par un visiteur, alors il peux éxécuter le php qu'il veut. Sinon, si tes conditions sont toujours sous la forme x*y==z tu peux facilement coder un truc dans le genre :
$Expression = '300.00*2==140'; eval('$resultat = ' . $Expression . ';'); // $resultat = true ou false
Mais l'inconvénient est que si $Expression est modifiable par un visiteur, alors il peux éxécuter le php qu'il veut. Sinon, si tes conditions sont toujours sous la forme x*y==z tu peux facilement coder un truc dans le genre :
$Expression = '300.00*2==140'; $e = explode('==', $Expression); $c = (float) $e[1]; // 140.0 $e = explode('*', $e[0]); $a = (float) $e[0]; // 300.00 $b = (int) $e[1]; // 2 if($a*$b==$c) /* vrai */ else /* faux */