在php中,OR与|| AND与&&之间本身没有区别,习惯问题 ,但是有时牵涉到运算符优先级的问题,结果会不同,记录下。
分享一个例子,帮助大家理解:
$p = 6 or 0;
var_dump($p);//int(6)
$p = 6 || 0;
var_dump($p);//bool(true)
$p = 6 and 0;
var_dump($p); //int(6)
$p = 6 && 0;
var_dump($p); //bool(false)
因为赋值运算的优先级比AND和OR的高,所以先赋值;比&&和||的低,所以逻辑运算符先执行,先逻辑运算,再赋值。