Mol*_*Man 2 php operators operator-precedence
var_dump(false and false || true);
// result: bool(false)
Run Code Online (Sandbox Code Playgroud)
(false and false || true) 按预期返回false.
var_dump(false and false or true);
// result: bool(true)
Run Code Online (Sandbox Code Playgroud)
但是(false and false or true)返回true.我没有合理的解释为什么会发生这种情况.
&&并且||在and和上有更高的优先权or
您可以在PHP文档中看到运算符优先级
所以
<?php
var_dump(false and false || true);
// eq: false and (true or false) => false
var_dump(false and false or true);
// eq: (false and false) or true => true
Run Code Online (Sandbox Code Playgroud)