php逻辑运算符之间有什么区别
区别:1、and和“&&”运算符都用于表示逻辑与,and的优先级较低,“&&”的优先级较高;2、or和“||”运算符都用于表示逻辑或,or的优先级较低,“||”的优先级较高;3、“$”运算符用于表示逻辑非;4、xor运算符用于表示逻辑异或。
本文操作环境:Windows10系统、PHP7.1版、Dell G3电脑。
php逻辑运算符之间有什么区别
php 逻辑运算符
一直认为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
PHP中的逻辑“与”运算有两种形式:AND 和 &&,同样“或”运算也有OR和||两种形式。
如果是单独两个表达式参加的运算,两种形式的结果完全相同,例如 $a AND $b和$a && $b没有任何区别。同样的$a OR $b和$a || $b也完全一样。
但两种形式的逻辑运算符优先级不同,这四个符号的优先允许从高到低是:&&、||、AND、OR。特别注意,这句话要仔细理解。举例:
$a || $b AND $c || $d
相当于:
($a || $b) AND ($c || $d)
推荐学习:《PHP视频教程》