我已经看到比较运算符在为代码中的变量赋值后直接使用了这些:
($i = array_search($v, $b)) !== false // If $v is not in array, outputs false
或类似的东西:
$n = 5 <= 5;
echo $n; // Outputs 1;
在第一个例子中,比较运算符是否直接将值与array_search(...)进行比较,还是将它与$ i进行比较,因为它们都在括号中?如果“$ i = array_search(...)?
周围没有括号,它会有所作为吗?我已经尝试在比较运算符的PHP手册中查找,但似乎没有提到以这种方式使用比较运算符。
另外,在第二个例子中,如果没有括号,比较运算符是将值比较为5还是$ n?
在分配变量后,有人可以链接任何与比较运算符用法相关的文档或文章吗?
答案 0 :(得分:1)
比较运算符会直接将值与
array_search(...)
进行比较,还是将其与$i
进行比较
首先将array_search
的值分配给$i
,然后将该值与第二个值进行比较。
在您的示例中,array_search
将在失败时返回false
。
if( ($i = array_search($v, $b)) !== false ){}
完全等同于:
$i = array_search($v, $b);
if($i !== false){}
或者:
if( array_search($v, $b) !== false ){}
这只是一个方便的快捷方式,也可以指定$i
的值以供日后使用。