<?php
if (defined('HHVM_VERSION')) {
exit('*HHVM skipped*');
}
function myErrorHandler($errno, $errstr, $errfile, $errline)
{
if ($errno == E_NOTICE && in_array($errstr, array(
'Undefined variable: undefined',
'Undefined variable: undefined',
), true)) {
echo "\n";
echo "Caught a Notice: Undefined variable: undefined in $errfile on line $errline\n";
return true;
}
if ($errno == E_WARNING && in_array($errstr, array(
'reset() expects parameter 1 to be array, null given',
'reset(): Passed variable is not an array or object',
'reset() [http://www.php.net/function.reset]: Passed variable is not an array or object',
), true)) {
echo "\n";
echo "(caught the warning about null not being an array in $errfile on line $errline)\n";
return true;
}
return false;
}
set_error_handler('myErrorHandler');
// The following line will not emit a notice, because reset() takes its parameter by reference
reset($undefined);
Fatal error: Uncaught TypeError: reset(): Argument #1 ($array) must be of type array, null given in /in/7jpXG:34
Stack trace:
#0 /in/7jpXG(34): reset(NULL)
#1 {main}
thrown in /in/7jpXG on line 34
Process exited with code 255.