想弄清这个问题,首先要了解这些运算符的优先级;了解后,我们才知道,逻辑运算和赋值运算的执行顺序;
//and or 的优先级小于 = //&& || 的优先级大于 = //or-前面语句值为真,or后面不执行;否则,执行 $result = 0 or var_dump('执行我的语句'); //输出-执行我的语句 var_dump($result); //int 0 $result = 2 or var_dump('执行我的语句'); //不输出 var_dump($result); //int 2 //||-返回boolean值 $result = 0 || 0; var_dump($result); //boolean false $result = 2 || 0; var_dump($result); //boolean true