<php function a(){return false;} if(!$b = a()) var_dump($b); !的优先级应该比=高,!$b是true,然后进行赋值,再回头来判断!$b?所以这个应该怎么理解
建议你看下官方文档http://www.php.net/manual/zh/... 往下翻一下,可以看到里面有关于这个的说明 :Note:尽管 = 比其它大多数的运算符的优先级低,PHP 仍旧允许类似如下的表达式:if (!$a = foo()),在此例中 foo() 的返回值被赋给了 $a。
建议你看下官方文档http://www.php.net/manual/zh/...
往下翻一下,可以看到里面有关于这个的说明 :
Note:
尽管 = 比其它大多数的运算符的优先级低,PHP 仍旧允许类似如下的表达式:if (!$a = foo()),在此例中 foo() 的返回值被赋给了 $a。