<?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');
// The following line will emit a notice if current() takes its parameter by value
current($undefined);
Warning: Undefined variable $undefined in /in/BNkR8 on line 34
Fatal error: Uncaught TypeError: current(): Argument #1 ($array) must be of type array, null given in /in/BNkR8:34
Stack trace:
#0 /in/BNkR8(34): current(NULL)
#1 {main}
thrown in /in/BNkR8 on line 34
Process exited with code 255.