Я хочу знать, есть ли способ использовать что-то вроде этого:
$t1=1; $t2=2; $t3="$t1>$t2"; if($t3) echo "Greater"; else echo "Smaller";
Это будет оцениваться как true, поскольку $ t3 – строка, но это неправильно!
Итак, есть способ включить условие if внутри строки.
Я слышал, что мы можем использовать eval для этого: PHP – если условие внутри строки
Но как это возможно ???
Похоже, он должен работать, учитывая страницу PHP eval .
$t1=1; $t2=2; $t3="return $t1>$t2;"; if(eval($t3)) echo "Greater"; else echo "Smaller";
Для этого вам не нужно оценивать строку. Просто напишите его как необработанное условие, и оно даст вам логическое значение, которое вы можете оценить как в условии if:
$t3 = $t1 > $t2;
Кстати, else
в вашем коде будет оценивать, равны ли значения $t1
и $t2
. Вы можете использовать else if
позаботиться об этом, но это просто то, что, как я думал, я бы указал.
Скорее всего, вы этого не слушаете, и этот вопрос выходит из плохого дизайна.
Почему бы не сделать это просто
if ($t1>$t2) echo "greater";