(Предположим, что вместо этого: error_reporting (E_ERROR | E_WARNING);)
Ну, это битовая маска.Так что E_ERROR может быть таким числом (в двоичном виде):
0010000
, а E_WARNING может быть:
0000010
, и когда они объединяются с|, вы получите
0010010
(одно целое число с несколькими установленными битами)
Затем функция может проверять, какие биты установлены с помощью оператора & bitwise.Конечно, вы можете сделать это в javascript, хотя это может быть менее распространенным, и, возможно, менее эффективным и надежным, поскольку числа становятся больше, поскольку в javascript на самом деле нет целых чисел, это действительно числа с плавающей запятой.
В javascript, вы могли бы предпочесть использовать что-то вроде этого:
error_reporting({warning: true, error: true});
(отредактировано, чтобы показать его более разумно, с | not &, чтобы объединить их)