Comment évaluer une formule passée sous forme de chaîne en PHP ?
En PHP, vous pouvez utiliser la fonction eval() pour évaluer une chaîne comme Code PHP. Cependant, cette fonction est déconseillée pour des raisons de sécurité, car elle peut permettre l'exécution de code malveillant. Une alternative plus sûre consiste à utiliser la fonction create_function(), qui crée une fonction à partir d'une chaîne.
Voici un exemple de la façon dont vous pouvez utiliser la fonction create_function() pour évaluer une expression mathématique :
<?php $expression = '2 + 2'; $fn = create_function('', "return ($expression);"); $result = $fn(); echo $result; // Output: 4
Cela affichera la valeur de l'expression, qui est 4.
Une autre option consiste à utiliser une bibliothèque capable d'évaluer en toute sécurité des expressions mathématiques. L'une de ces bibliothèques est la classe EvalMath, qui peut être trouvée sur [ce lien](http://www.phpclasses.org/browse/package/2695.html).
Voici un exemple de la façon dont vous peut utiliser la classe EvalMath pour évaluer une expression mathématique :
<?php include('evalmath.class.php'); $m = new EvalMath; $result = $m->evaluate('2 + 2'); echo $result; // Output: 4
Cela affichera également la valeur de l'expression, qui est 4.
La méthode que vous choisissez d'utiliser dépend de vos besoins spécifiques. Si vous avez besoin d’une solution simple et facile à utiliser, alors la fonction create_function() est une bonne option. Cependant, si vous avez besoin d'une solution plus robuste et sécurisée, la classe EvalMath est un meilleur choix.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!