<?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(
'current() expects parameter 1 to be array, null given',
'current(): Passed variable is not an array or object',
'current() [http://www.php.net/function.current]: 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');
current($undefined); // will emit a notice if current() takes its parameter by value
Warning: Undefined variable $undefined in /in/365VC on line 33
Fatal error: Uncaught TypeError: current(): Argument #1 ($array) must be of type array, null given in /in/365VC:33
Stack trace:
#0 /in/365VC(33): current(NULL)
#1 {main}
thrown in /in/365VC on line 33
Process exited with code 255.