我们如何解析要在 if 语句中使用的字符串条件


How can we parse a string condition to use in if statement

嗨,我

有一个字符串变量(我从其他来源获得)作为"$abc=='xyz' AND $yza == 'lmn'"..等等。有什么方法可以将整个字符串放在 IF 语句中以测试条件。喜欢

$condition = "$abc=='xyz' AND $yza == 'lmn'"; 
  if($condition)
   //do something..
  else
   //do something...

谢谢。

eval() 会做你所追求的,但这不是一个好主意。

$condition = "$abc=='xyz' AND $yza == 'lmn'"; 
if(eval($condition))
//do something..
else
//do something...

eval() 的更正确的语法应该是(也许其他人会需要它):

$condition = "return $abc=='xyz' AND $yza == 'lmn';"; 
if (eval($condition))
    //do something..
else
    //do something...

因为在eval()内部,条件应该以;结尾。通常它以return开头。