Ich habe die folgenden Code-Snippet, die eine Eingabe in einen Float und erstellen eine Variable maths Operator von >
oder <
basierend darauf, ob der Schwimmer eine positive oder negative Zahl ist.PHP dynamische mathematische Operator Ausgabe
// allow custom variance from user input
if (isset($request->custom_variance)) {
$variance_amount = floatval($request->custom_variance);
($variance_amount < 0) ? $operator = " < " : $operator = " > ";
} else {
// set default
$variance_amount = floatval(-50);
$operator = " < ";
}
ich dann diese Variablen in einer if-Anweisung verwenden, habe ich hier abgeladen den Ausgang zu zeigen:
var_dump((floatval($value_one) - floatval($value_two)).$operator.$variance_amount);
// returns "-51.35 < -50"
Wenn ich hart Code die Werte, die ich diese bekommen (es funktioniert, wie ich einen Booleschen wollen)
var_dump((floatval($value_one) - floatval($value_two)) < -50);
// returns true
ich etwas zu lesen hier über das getan haben und es scheint, wie es nicht funktioniert wie mein Operator als wobei Zeichenfolge interpretiert wird, aber ich würde mit dem eval()
f vermeiden möchten wenn möglich.
Irgendwelche Vorschläge?