使用eval()作为条件赋值的Php变量

时间:2012-08-29 04:41:03

标签: php eval

  

可能重复:
  php variable as conditional assignment

我试图通过像这样的

这样的php变量来连接条件赋值
$cndtnal='&& $x==4';

if($y==5 eval($cndtnal)){
   print 'Hello World';
}

但我得到一个Parse错误:语法错误,意外的$ end in:eval()'代码在第1行。

我也试过了:

$cndtnal='&& $x==4';

if (eval('$y==5'.$cndtnal)){
       print 'Hello World';
    }

但我得到同样的错误。

感谢。

1 个答案:

答案 0 :(得分:0)

您缺少return和分号。

但实际上,您应该 避免eval

<?php
$foo = 1;
$bar = 2;
$test = ' && $bar == 2';
if(eval('return $foo == 1' . $test . ';')) {
    echo "That horribly eval()'d code worked!";
}
?>