本身没有什么区别,但都是习惯问题,只是有时候涉及到运营商优先级的问题,结果会不一样。写下来。例如,复制代码如下:$p=6或0;var _ dump($ p);//int(6)$ p=6 | | 0;var _ dump($ p);//bool(true) $p=6和0;var _ dump($ p);//int(6)$ p=6 0;var _ dump($ p);//bool(false)因为赋值操作的priORity高于AND或,先进行赋值;小于| |和|,所以先执行逻辑运算符,然后赋值。