Единственный способ сделать то, что вы показываете, это eval () . Но обычно не одобряется использование eval()
, потому что оно представляет множество потенциальных уязвимостей безопасности.
Я бы сделал это жестко, чтобы избежать eval()
и убедиться, что я могу контролировать указанные c операторы Я хочу поддержать:
$cond_operator = "<"; // (but this operator actually pulled from database)
switch ($cond_operator) {
case "<":
if ( $actual_value < $score_value ) {
return $result;
}
break;
case ">":
if ( $actual_value > $score_value ) {
return $result;
}
break;
case "==":
if ( $actual_value == $score_value ) {
return $result;
}
break;
default:
trigger_error("Unsupported condition operator: '$cond_operator'");
}