我想知道是否有办法使用这样的东西:
$t1=1;
$t2=2;
$t3="$t1>$t2";
if($t3)
echo "Greater";
else
echo "Smaller";
这将评估为true,因为$ t3是一个字符串,但这是错误的!
那么有没有办法在字符串中包含if条件。
我听说我们可以使用eval: PHP - if condition inside string
但这怎么可能?
答案 0 :(得分:3)
为此,您不需要评估字符串。只需将其写为原始条件,它将为您提供一个布尔值,您可以在if条件中进行评估:
$t3 = $t1 > $t2;
顺便说一下,代码中的else
会评估$t1
和$t2
是否相等。您可以使用else if
来处理这个问题,但这只是我认为我会指出的内容。
答案 1 :(得分:1)
考虑到PHP eval页面,这看起来应该可行。
$t1=1;
$t2=2;
$t3="return $t1>$t2;";
if(eval($t3))
echo "Greater";
else
echo "Smaller";
答案 2 :(得分:-1)
很可能你没有注意到这个问题,这个问题来自糟糕的设计 为什么不这样做呢
if ($t1>$t2) echo "greater";