Пример:
$a=3;
$b=5;
$c="+";
$rez=$a $c $b; // тут должно получиться число 8. То есть вместо переменной $c подставляется оператор сложения. Но такой синтаксис выдает ошибку.
Переменная как арифметический оператор, может ли быть такое?
Спустя 30 минут, 39 секунд (27.03.2010 - 23:04) sergeiss написал(а):
См. функцию eval().
А твоя запись не имеет смысла.
Вот так - есть смысл , т.к. мы объединяем несколько переменых в одну строку, рассматривая каждую из них как строки.
А твоя запись не имеет смысла.
Вот так - есть смысл , т.к. мы объединяем несколько переменых в одну строку, рассматривая каждую из них как строки.
$rez=$a.$c.$b;
Спустя 21 минута, 36 секунд (27.03.2010 - 23:26) Falcon555 написал(а):
Цитата (sergeiss @ 27.03.2010 - 20:04) |
См. функцию eval(). |
$a=3;
$b=5;
$c="+";
$rez=$a.$c.$b;
eval ("\$rez=\"$rez\";");
print $rez; // Выводит "3+5", а надо что бы сразу выводило результат, то есть "8".
sergeiss, подскажите, что я не так делаю?
Спустя 21 минута, 21 секунда (27.03.2010 - 23:47) sergeiss написал(а):
$a=3;
$b=5;
$c="+";
$rez=$a.$c.$b;
eval ("echo $rez;");
Выражение, передаваемое в eval(), должно быть полноценным выражением ПХП. Если это должен быть вывод, то тогда и пиши всё внутри eval()!!! Не надо никаких отдельных выводов (вне eval) через print и любые другие функции вывода.
Спустя 45 минут, 54 секунды (28.03.2010 - 00:33) krasilich написал(а):
Примерно догадался для чего может понадобиться такая заморочка, с операторами. Так вот, мой совет. Используй if-else либо switch. Операций не так уж и много...
$c = "+";
$a = 5;
$b = 3;
switch ($c)
case "+": $a + $b; break;
case "-": $a - $b; break;
Спустя 5 минут, 23 секунды (28.03.2010 - 00:39) Adil написал(а):
Помню только когда начинал решил сделать калькулятор на php. Так вот через форму передавалось либо +,-,*,/ и я пытался их таким же образом через переменную вставить)
Спустя 15 часов, 17 минут, 42 секунды (28.03.2010 - 14:56) Falcon555 написал(а):
sergeiss
Спасибо большое!
Спасибо большое!