可能重複:
Reference - What does this symbol mean in PHP?「|」是什麼意思在這個PHP代碼中?
下面是PHP代碼:
<?php
$a = $b['key'] | 0;
?>
它是一個運營商?
可能重複:
Reference - What does this symbol mean in PHP?「|」是什麼意思在這個PHP代碼中?
下面是PHP代碼:
<?php
$a = $b['key'] | 0;
?>
它是一個運營商?
它的按位或,如定義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)
|
是bitwise OR
功能。
||
是regular OR
的|
是bitwise OR操作。
做一個按位或爲零(| 0
)沒有任何意義,因爲它不會翻轉任何位。也許寫這個的人只是一個非常糟糕的程序員,並試圖以這種方式將字符串轉換爲整數。他應該使用一個(string)
而不是!
It is performing a bitwise OR operation。
代碼的原始作者可能會將另一個|
設置爲邏輯OR(||
),因爲按位OR或0對輸出無任何影響。雖然即使這樣做沒有意義,但他可以簡單地使用cast to an integer來獲得相同的結果。
|
是位運算符(http://php.net/manual/en/language.operators.bitwise.php)
|
裝置 「一節中任一$b['key']
或0
設置位被設置。」
因爲第二部分雖然是零,但如果$b['key']
也爲零,它將返回false
。
PHP文檔說什麼? – Oded
http://stackoverflow.com/questions/3737139/reference-what-does-this-symbol-mean-in-php – Mike
這是一個按位[包含或(OR)](http://en.wikipedia.org/wiki/Inclusive_or)運營商。這在編程語言中是非常標準的。請參閱[手冊](http://php.net/manual/en/language.operators.bitwise.php)。每當你看到一個你不認識的操作員時,首先檢查操作員的手冊。 :) – netcoder