如何使用php中的字符串内的条件

时间:2010-09-21 05:21:53

标签: php string if-statement

我想知道是否有办法使用这样的东西:

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

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

这将评估为true,因为$ t3是一个字符串,但这是错误的!

那么有没有办法在字符串中包含if条件。

我听说我们可以使用eval: PHP - if condition inside string

但这怎么可能?

3 个答案:

答案 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";