这个优先级是怎么理解的

followyourheart
  • 26
<php
function a(){return false;}

if(!$b = a()) var_dump($b);

!的优先级应该比=高,!$b是true,然后进行赋值,再回头来判断!$b?所以这个应该怎么理解

回复
阅读 1.5k
1 个回答
joyvw
  • 860
✓ 已被采纳

建议你看下官方文档http://www.php.net/manual/zh/...

往下翻一下,可以看到里面有关于这个的说明 :
Note:
尽管 = 比其它大多数的运算符的优先级低,PHP 仍旧允许类似如下的表达式:if (!$a = foo()),在此例中 foo() 的返回值被赋给了 $a。

宣传栏