Используя | = in php
Я читал некоторый источник кода php и нашел следующее:
$failed |= is_numeric( $key );
Кроме того, если $key
является числовым, что означает |=
?
Ответы
Ответ 1
$x |= $y;
совпадает с $x = $x | $y;
$x | $y
- побитовый оператор, который означает, что он возвращает результат логической "или" между двумя переменными.
В контексте вопроса он позволяет $failed
сохранять состояния отказа для нескольких действий в одной переменной (каждая позиция бита представляет собой индивидуальное действие).
Если вам нужно больше узнать о том, что это делает, я предлагаю прочитать справочную страницу PHP для побитовых операторов: http://www.php.net/manual/en/language.operators.bitwise.php
Ответ 2
Обозначение $a |= $b
означает $a = $a | $b
, как и другие обозначения x=
. |
является побитовой операцией ИЛИ.
Ответ 3
Это эквивалент:
$failed = $failed | is_numeric($key);
|
- побитовый оператор or
.
В любое время, когда вы видите x <something>= y
, его можно переписать как x = x <something> y
, в значительной степени.
Ответ 4
Это поразрядно OR
, поэтому строка будет такой же, как
$failed = $failed | is_numeric($key);
Это означает, что $failed
есть true
, если либо $failed
был true
до , либо is_numeric($key)
равен true
.