答案 0 :(得分:6)
|
是bitwise OR运算符。
执行按位OR与零(| 0
)没有任何意义,因为它不会翻转任何位。也许写这篇文章的人只是一个非常糟糕的程序员,并试图将字符串转换为整数。他应该使用(string)
强制转换!
答案 1 :(得分:1)
按位定义OR,如定义here。
例如:
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)
答案 2 :(得分:0)
|
是bitwise OR
函数。
||
是regular OR
答案 3 :(得分:0)
答案 4 :(得分:0)
It is performing a bitwise OR operation
代码的原始作者可能会将另一个|
放入其中以使其成为逻辑OR(||
),因为对0的按位OR将对输出无任何影响。虽然这甚至没有意义,但他可以简单地cast to an integer来获得相同的结果。
答案 5 :(得分:0)
|
是一个按位运算符(http://php.net/manual/en/language.operators.bitwise.php)
|
表示“已设置$b['key']
或0
中设置的位。”
因为第二部分是零,但只有在false
为零时它才会返回$b['key']
。