-3
У меня есть пример кода:Ошибка при использовании Eval в PHP
$messages = array(
array("mark" => "0 < {m} < 4.9", "message" => "BAD"),
array("mark" => "5 < {m} < 10", "message" => "GOOD"),
);
$m = 3;
$message = "";
foreach ($messages as $row) {
$condition = $row['mark'];
$condition = str_replace('{m}', $m, $condition);
$str = "$result = (bool)".$condition;
eval($str);
if($result) $message = $row['message'];
}
echo $message;
Результат плоха, но она показывает ошибку: Parse error: syntax error, unexpected '='
. Как идеи?
'$ ул = "$ результата = (Ий)" $ condition; 'PHP попытается вставить текущее значение' $ result' в вашу строку, а не рассматривать его как часть кода, который вы хотите eval .... '$ str =" \ $ result = (bool) ". $ condition; 'заставит буквальный' $ 'в строке кода –
Сравните ваш код с примерами в руководстве об eval(), я уверен, вы его увидите. – Rizier123
Почему 'eval' в любом случае? Это действительно не нужно, или это упражнение по кодированию? – Yoshi