Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich eine als String in PHP übergebene mathematische Formel sicher auswerten?

Wie kann ich eine als String in PHP übergebene mathematische Formel sicher auswerten?

Barbara Streisand
Freigeben: 2025-01-03 06:29:42
Original
710 Leute haben es durchsucht

How to Safely Evaluate a Mathematical Formula Passed as a String in PHP?

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage