可能重复:
参考-这个符号在PHP中是什么意思?
以下是PHP代码:
<?php
$a = $b['key'] | 0;
?>
是接线员吗?
|
是位OR运算符。
对零(| 0
(进行逐位OR没有任何意义,因为它不会翻转任何位。也许写这篇文章的人只是一个非常糟糕的程序员,并试图用这种方式将字符串转换为整数。他应该用(string)
演员阵容!
它的位OR,如这里定义的。
例如:
Bitwise Inclusive OR
( 5 = 0101) = ( 0 = 0000) | ( 5 = 0101)
( 5 = 0101) = ( 1 = 0001) | ( 5 = 0101)
( 7 = 0111) = ( 2 = 0010) | ( 5 = 0101)
( 5 = 0101) = ( 4 = 0100) | ( 5 = 0101)
(13 = 1101) = ( 8 = 1000) | ( 5 = 0101)
|
是一个逐位OR
函数。
||
是一个正则的OR
它是按位OR运算符。
请参阅此处了解更多详细信息:
http://php.net/manual/en/language.operators.bitwise.php
它正在执行按位"或"运算。
代码的原始作者可能打算放入另一个|
,使其成为逻辑OR(||
(,因为0的逐位OR对输出没有任何影响。尽管这毫无意义,但他本可以简单地转换为一个整数来获得相同的结果。
|
是位运算符(http://php.net/manual/en/language.operators.bitwise.php)
|
表示"设置了在$b['key']
或0
中设置的位。">
因为第二部分是零,所以只有当$b['key']
也是零时,它才会返回false
。