一直認為PHP中“or”和“||”是可以划等號的,其實不然,它們存在一個優先級的差別。下面通過一個例子說明它們的差異:
<?php $a = false || true; //'||'的優先級大於'=',先執行 false || true,然后賦值$a $b = false or true; // 'or'的優先級小於'=',先將false賦值給$b var_dump($a).PHP_EOL;//true var_dump($b);//false ?>
執行后,$a為true,而$b為false。這是因為“||”的優先級大於“=”,先執行 false || true,然后將執行后的結果true賦值給$a。而“or”的優先級小於“=”,先將false賦值給$b,因此$b就為false
但願諸位博友也別再這里采坑了額。稍微注意下既可。