在php中,这两个有什么区别?
可能是重复问题:
参考 - 这个符号在PHP中是什么意思?
if( $x==1 || $y==1) if( $x==1 && $y==1)
vs. (分别代表)
if( $x==1 | $y==1) if( $x==1 & $y==1)
据我所知,| 和 || 在php中作用相同,但肯定存在差异!!!
在php中,这两个有什么区别?
可能是重复问题:
参考 - 这个符号在PHP中是什么意思?
if( $x==1 || $y==1) if( $x==1 && $y==1)
vs. (分别代表)
if( $x==1 | $y==1) if( $x==1 & $y==1)
||
和 &&
是布尔运算符,它们接受两个参数,将每个参数转换为布尔值,然后返回 true
或 false
。
|
和 &
是位运算符。它们将它们的参数转换为二进制数并比较每个位。它们返回一个二进制数。
||
和&&
从左到右评估它们的参数,并尽快短路,也就是说,如果左表达式为真,则||
不会评估右侧的任何内容(对于假和&&
同样如此)。 - acelent一种方法是使用条件性的或和与,另一种方法是使用按位或和与。
||
这是条件 OR
(或)
|
这是位运算中的 or
(或)
$a | $b
Or
(包含或) 在 $a
或 $b
中设置的位被设置$a & $b
And
(与) 在 $a
和 $b
中都设置的位被设置。.
if( $x==1 || $y=1) if( $x==1 && $y==1)
if body --> if one of them is true both is true
$x=1
返回1(将1分配给$x
),$y
同理,然后这些变量进行按位或或按位与运算。 - mathematical.coffee文档是你的朋友。&&
和||
是逻辑运算符。你可以在这里阅读更多相关信息。
我强烈建议你阅读关于运算符优先级的内容,并了解为什么&&
与and
以及||
与or
是不同的。学习何时使用其中一个比另一个更合适。基本上,=
的优先级高于and
和or
,但低于&&
和||
。逻辑运算符部分的示例#1很好地解释了这一点。
在其他语言中,你只有&&
和||
,没有and
和or
。
&
和|
是位运算符。你可以在这里阅读有关它们的内容。
位运算符的典型用法是标志。其中一个常见的用途是PHP的error_reporting设置。
=
还是比较操作符==
? - mathematical.coffee