а чем не угодило типовое решение
set_error_handler(function(int $errno, string $errstr) {
if ((strpos($errstr, 'Undefined array key') === false) && (strpos($errstr, 'Undefined variable') === false)) {
return false;
} else {
return true;
}
}, E_WARNING);