$b = "12";
$c = "8";
$a = "$b + $c";
echo $a;
Результата выводится "12 + 8".
Возможно ли выполнить строку как арифметическое выражение, т.е. чтоб вывело "20"?
Спустя 20 минут, 28 секунд (8.06.2010 - 07:31) Basili4 написал(а):
eval
Спустя 27 минут, 32 секунды (8.06.2010 - 07:59) LRCenter написал(а):
Спасибо
Спустя 11 минут, 51 секунда (8.06.2010 - 08:10) LRCenter написал(а):
Подскажите еще, пожалуйста.
Прекрасно работет, а
Выдает ошибку, что оператор = недопустим, почему? Как тогда вывести результат выполнения строки кода в переменной $a в переменную $d?
eval("echo $a");
Прекрасно работет, а
eval("$d = $a");
Выдает ошибку, что оператор = недопустим, почему? Как тогда вывести результат выполнения строки кода в переменной $a в переменную $d?
Спустя 3 минуты, 8 секунд (8.06.2010 - 08:14) Basili4 написал(а):
$a=$d;
eval('echo $a');
Так. Я вообще использую eval только кожа надо строку типа (1+33+44)-40 по считать. Остальное делаю обычным способом
Спустя 11 минут, 45 секунд (8.06.2010 - 08:25) LRCenter написал(а):
Нет, вы не поняли.
Я получаю переменную, в которой содержится арифметическое выражение, например
Также получаю значения всех переменных с которыми оперирует выражение.
Так вот, мне надо выполнить, эту строку кода, а результат вывести в переменную, которую затем можно использовать дальше, не могу понять как это сделать.
Работает, но мне не в браузер выводить надо, а в переменную.
и
не работают.
Я получаю переменную, в которой содержится арифметическое выражение, например
$a = "($b + $c) - $d";
Также получаю значения всех переменных с которыми оперирует выражение.
Так вот, мне надо выполнить, эту строку кода, а результат вывести в переменную, которую затем можно использовать дальше, не могу понять как это сделать.
eval("echo $a");
Работает, но мне не в браузер выводить надо, а в переменную.
eval("$f = $a");
и
eval("return $a");
не работают.
Спустя 7 минут, 26 секунд (8.06.2010 - 08:33) Basili4 написал(а):
Так получилось
<?php
$a=1;
$b=2;
eval ("\$c =" ."\$a+$b;");
echo($c);
Спустя 5 минут, 32 секунды (8.06.2010 - 08:38) LRCenter написал(а):
Идея как раз в том, что выражение, из переменной $a передается в неизменном виде, т.е. влиять на него вы мы не можем.
Странно получается, echo можно, а вывести результат за пределы eval нельзя что ли?
Странно получается, echo можно, а вывести результат за пределы eval нельзя что ли?
Спустя 6 минут, 50 секунд (8.06.2010 - 08:45) LRCenter написал(а):
Нашел решение
Выводит "20". return все-таки работает. Спасибо еще раз.
$b = "12";
$c = "8";
$a = "$b + $c;";
$d = eval("return $a");
echo $d;
Выводит "20". return все-таки работает. Спасибо еще раз.
Спустя 38 секунд (8.06.2010 - 08:46) Basili4 написал(а):
Можно все только занк $ надо экранировать.
_____________
Меньше кода - меньше багов ©