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

gre*_*emo 1 php conditional if-statement variable-assignment

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

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

我有:

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

dev*_*ler 5

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

if(($x = $s->getXAxis()) && ($i = array_search($x, $this->xAxis)) !== false)
   $s->xAxis = $i; 
Run Code Online (Sandbox Code Playgroud)