You can not do that directly, since there are strict rules for user-defined handler of errors. If you are defining error handler, you can rely on context from it - that context will be passed as the last parameter and will contain current scope (i.e. scope, from which error was triggered). Here's an example:
function errHandle($errNo, $errStr, $errFile, $errLine, $errContext) {
$msg = "$errStr in $errFile on line $errLine";
if ($errNo == E_NOTICE || $errNo == E_WARNING) {
throw new ErrorException($msg, $errNo);
} else {
echo $msg;
echo '<pre>';
print_r($errContext);
}
}
$xmlArray=['foo'=>'bar'];
set_error_handler('errHandle');
trigger_error('test', E_USER_WARNING);
you will be able to access $xmlArray
from your parameter $errContext
via corresponding key (i.e. 'xmlArray'
). For more information see manual page.