在设置 error_reporting 值时,我试图了解使用“^”字符和“~”字符之间的区别。例如,我的 php 脚本中有以下内容:
if (version_compare(PHP_VERSION, '5.3.0') >= 0) {
error_reporting(E_ALL & ~ E_DEPRECATED & ~ E_USER_DEPRECATED & ~ E_NOTICE);
} else {
error_reporting(E_ALL ^ E_NOTICE);
}
我在以下位置阅读了手册页:
http://php.net/manual/en/function.error-reporting.php
但我现在比以往任何时候都更加困惑。是:
error_reporting(E_ALL & ~ E_DEPRECATED & ~ E_USER_DEPRECATED & ~ E_NOTICE);
相同:
error_reporting(E_ALL ^ E_DEPRECATED ^ E_USER_DEPRECATED ^ E_NOTICE);