有条件的分配,为什么它不起作用?

时间:2012-01-08 18:45:18

标签: php if-statement conditional variable-assignment

这个简单的条件分配(是的,不幸的是我喜欢它!)不起作用。 $x$i变量的范围是什么?

if($x = $s->getXAxis() && ($i = array_search($x, $this->xAxis)) !== false) // 88
   $s->xAxis = $i;                                                         // 89

我得到了:

  

注意:未定义的变量:第88行的x。

2 个答案:

答案 0 :(得分:5)

我猜这是运算符优先级,尝试将赋值放入括号中:

if(($x = $s->getXAxis()) && ($i = array_search($x, $this->xAxis)) !== false)
   $s->xAxis = $i; 

答案 1 :(得分:0)

第一个表达式是否应该为$x赋值?
检查$x是否已定义:isset($x)