2011-07-06 2 views
12

は、私はいくつかのPHPコードのソースを読み、次がわかった。より$keyが数値の場合使用して| = PHPで

$failed |= is_numeric($key); 

その他、|=は何を意味するのでしょうか?

+3

http://www.php.net/manual/en/language.operators.assignment。 php#40084 – mario

答えて

14

$x |= $y;$x = $x | $y;

$x | $yと同じである、2つの変数間の論理「または」の結果を返す手段ビット単位の演算子です。

質問の文脈では、$failedは、いくつかのアクションの失敗ステータスを1つの変数(個々のアクションを表す各ビット位置)に格納することができます。

あなたはこれが何をするかについての詳細を知る必要がある場合、私はビット演算子のためのPHPのマニュアルページを読んでお勧め:http://www.php.net/manual/en/language.operators.bitwise.php

+0

+1これまでのところ最も正確かつ完全な答えであるために+1。 – Dereleased

+0

投票は他の回答との比較ではなく、絶対値に対するものです。それでも、これは良い答えだから+1。 –

12

表記$a |= $bは、$a = $a | $bを意味し、他のx=表記に似ています。 |はビット単位のOR演算です。

4

それは相当だ:

$failed = $failed | is_numeric($key); 

|は、ビット単位or演算子です。

いつでもx <something>= yが表示されますが、それはかなりx = x <something> yと書き直すことができます。ビット単位のOR

4

のでラインは$failedはどちらか$failedまたはis_numeric($key)trueである前にtrueをされている場合trueであることを意味し

$failed = $failed | is_numeric($key); 

と同じです。

関連する問題