[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Переменная как арифметический оператор
Falcon555

Пример:
$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
Спасибо большое!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.