Transformation d'une équation [Résolu]

Signaler
Messages postés
7
Date d'inscription
lundi 4 avril 2016
Statut
Membre
Dernière intervention
2 août 2016
-
Messages postés
7
Date d'inscription
lundi 4 avril 2016
Statut
Membre
Dernière intervention
2 août 2016
-
Bonjour à tous,
J'ai une chaîne de caractère dans une variable:
$chaine = 'DonneeA * (DonneeB + DonneeC)'
où:
$DonneeA = 10;
$DonneeB = 8;
$DonneeC = 13;
J'aimerais obtenir une valeur sous forme d'un entier soit:
$resultat = 210;
Je n'ai pas encore fait beaucoup de test et de recherche mais je vous demande tout de suite de l'aide car je n'ai pas beaucoup de temps.
Merci!

2 réponses

Messages postés
16040
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 juin 2021
551
Bonjour

je ne fais pas de PHP, mais en tapant
"parser equation php" dans mon moteur de recherche préféré, je trouve plein de questions résolues sur le sujet.
Messages postés
7
Date d'inscription
lundi 4 avril 2016
Statut
Membre
Dernière intervention
2 août 2016

J'ai trouvé des solutions et je le post ici pour ceux que ça peux etre utile.

Solution 1: Pour une plateform de préférence qui n'est pas public car il n'est pas super sécuritaire mais il fonction très bien.


$DonneeA = 10;
$DonneeB = 8;
$DonneeC = 13;
$str = '$DonneeA*(($DonneeB+$DonneeC)*$DonneeA)+($DonneeC*$DonneeB)';
eval( "\$str = \"$str\";" );
echo '1:' . $str . '<br />';
echo '2:' . eval ( '$monResultat=' . $str . ';' ) . '<br />';
echo '3:' . $monResultat;


Solution 2:
https://gist.github.com/ircmaxell/1232629