分配变量后使用比较运算符

时间:2016-11-01 03:18:42

标签: php variables syntax comparison-operators

我已经看到比较运算符在为代码中的变量赋值后直接使用了这些:

($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?

在分配变量后,有人可以链接任何与比较运算符用法相关的文档或文章吗?

1 个答案:

答案 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的值以供日后使用。