Wie wertet man eine Formel aus, die als String in PHP übergeben wird?
In PHP können Sie die Funktion eval() verwenden, um einen String als auszuwerten PHP-Code. Diese Funktion wird jedoch aus Sicherheitsgründen nicht empfohlen, da sie die Ausführung von Schadcode ermöglichen kann. Eine sicherere Alternative ist die Verwendung der Funktion „create_function()“, die eine Funktion aus einer Zeichenfolge erstellt.
Hier ist ein Beispiel dafür, wie Sie die Funktion „create_function()“ verwenden können, um einen mathematischen Ausdruck auszuwerten:
<?php $expression = '2 + 2'; $fn = create_function('', "return ($expression);"); $result = $fn(); echo $result; // Output: 4
Dadurch wird der Wert des Ausdrucks ausgegeben, der 4 ist.
Eine andere Möglichkeit besteht darin, eine Bibliothek zu verwenden, die mathematische Ausdrücke sicher auswerten kann. Eine solche Bibliothek ist die EvalMath-Klasse, die unter [diesem Link](http://www.phpclasses.org/browse/package/2695.html) zu finden ist.
Hier ist ein Beispiel dafür, wie Sie kann die EvalMath-Klasse verwenden, um einen mathematischen Ausdruck auszuwerten:
<?php include('evalmath.class.php'); $m = new EvalMath; $result = $m->evaluate('2 + 2'); echo $result; // Output: 4
Dadurch wird auch der Wert des Ausdrucks ausgegeben 4.
Für welche Methode Sie sich entscheiden, hängt von Ihren spezifischen Bedürfnissen ab. Wenn Sie eine einfache und benutzerfreundliche Lösung benötigen, ist die Funktion create_function() eine gute Option. Wenn Sie jedoch eine robustere und sicherere Lösung benötigen, ist die EvalMath-Klasse die bessere Wahl.
Das obige ist der detaillierte Inhalt vonWie kann ich eine als String in PHP übergebene mathematische Formel sicher auswerten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!