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