E_ALL的重点是什么?E_STRICT如果它与E_ALL的值相同?

bob*_*obo 11 php error-reporting

  • E_ALL等于8191(0001 1111 1111 1111)
  • E_STRICT等于2048(0000 1000 0000 0000)

使用按位OR组合它们:

1 1111 1111 1111
  1000 0000 0000
Run Code Online (Sandbox Code Playgroud)

我们得到与原始值完全相同的E_ALL:

1 1111 1111 1111
Run Code Online (Sandbox Code Playgroud)

什么是做的点error_reporting(E_ALL | E_STRICT),如果我们可以简单做error_reporting(E_ALL)来获得同样的事情?

cle*_*tus 19

你要:

error_reporting(E_ALL | E_STRICT);
Run Code Online (Sandbox Code Playgroud)

E_ALL不包括E_STRICT(除非您使用PHP 5.4+).你的价值观不正确.从预定义常量 E_ALL定义为:

支持的所有错误和警告,除了E_STRICTPHP 5.4之前的级别.

在PHP 5.4.x中为32767,在PHP 5.3.x中为30719,在PHP 5.2.x中为6143,之前为2047

  • w3schools可以有一些非常过时的信息.我总是会去php.net作为PHP相关的任何东西的第一个参考. (12认同)
  • 在PHP 5.4中,`E_STRICT`包含在`E_ALL`中. (3认同)