如何抑制未定义的索引错误?

时间:2014-05-05 21:48:38

标签: php error-handling

在您建议使用issetemptyarray_key_exists之前 - 我知道。

我继承了一个包含近百万行代码的旧项目。我想启用E_NOTICE,但我充斥着消息。作为一个临时解决方案,我通过这样做来抑制“未定义的索引”错误:

function _global_error_handler($level, $message, $filename, $line_no, $context) {
    if($level===E_NOTICE && substr($message,0,16)==='Undefined index:') return false; 

但是我希望有一些方法可以通过INI设置或其他方式完全禁用通知。我不希望每次发生这种情况时调用全局错误处理程序的开销。

1 个答案:

答案 0 :(得分:2)

不,没有办法比E_*常量更具体,没有像你现在那样手动解析错误条件。

我现在建议的是禁用E_NOTICE错误。当你有机会(应该尽可能快),再次启用它们并尽可能多地进行修复。