Как использовать if условие внутри строки в php - PullRequest
0 голосов
/ 21 сентября 2010

Я хочу знать, есть ли способ использовать что-то вроде этого:

$t1=1;
$t2=2;
$t3="$t1>$t2";

if($t3)
   echo "Greater";
else
   echo "Smaller";

Это будет иметь значение true, поскольку $ t3 - строка, но это неправильно !!!

Так есть ли способ включить условие if внутри строки.

Я слышал, что мы можем использовать eval для этого: PHP - если условие внутри строки

Но как это возможно ???

Ответы [ 3 ]

3 голосов
/ 21 сентября 2010

Для этого вам не нужно оценивать строку.Просто напишите его как необработанное условие, и оно даст вам логическое значение, которое вы можете оценить как есть в условии if:

$t3 = $t1 > $t2;

Кстати, else в вашем коде будет оценивать$t1 и $t2 равны.Вы можете использовать else if, чтобы позаботиться об этом, но я подумал, что просто укажу на это.

1 голос
/ 21 сентября 2010

Похоже, что это должно работать, учитывая страницу PHP eval .

$t1=1;
$t2=2;
$t3="return $t1>$t2;";

if(eval($t3))
   echo "Greater";
else
   echo "Smaller";
0 голосов
/ 21 сентября 2010

Скорее всего, вы не прислушиваетесь к этому, и этот вопрос возникает из-за плохого дизайна.
Почему бы не сделать это просто

if ($t1>$t2) echo "greater";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...