Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 条件赋值,为什么它';它不工作了?_Php_If Statement_Conditional_Variable Assignment - Fatal编程技术网

Php 条件赋值,为什么它';它不工作了?

Php 条件赋值,为什么它';它不工作了?,php,if-statement,conditional,variable-assignment,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 第一个表达式是否应

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

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

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


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

是否为
$x
赋值的第一个表达式
检查是否定义了
$x
设置($x)

我想是运算符优先,请尝试将赋值放在括号中:

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

我猜是运算符优先,请尝试将赋值放在括号中:

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

优先级可能正确,但实际上没有理由首先将X集全局化到条件中。优先级可能正确,但实际上没有理由首先将X集全局化到条件中。相同的问题在此处得到更深入的回答:相同的问题在此处得到更深入的回答: