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集全局化到条件中。相同的问题在此处得到更深入的回答:相同的问题在此处得到更深入的回答: