- substr: documentation ( source)
- var_dump: documentation ( source)
- version_compare: documentation ( source)
- function_exists: documentation ( source)
- trim: documentation ( source)
- set_error_handler: documentation ( source)
<?php
$corban_notice = false;
if (!function_exists('cd'))
{
function cd($var)
{
global $corban_notice;
if (!isset($var))
{
if ($corban_notice)
{
echo 'cd: Variable is not set'.PHP_EOL;
$corban_notice = false;
}
else
{
echo 'cd: Variable is NULL'.PHP_EOL;
}
}
}
}
function corban_error_handler($errno , $errstr, $errfile, $errline)
{
global $corban_notice;
if ( version_compare(PHP_VERSION, '5.0.0', '>=') )
{
$file = new SplFileObject($errfile);
$file->seek($errline-1);
$c = substr(trim($file->current()), 0, 3);
if ($c=='cd(' || $c=='cd ')
{
$corban_notice = true;
}
}
return false;
}
set_error_handler ('corban_error_handler', E_NOTICE);
var_dump($a);
$b = null;
cd($a);
cd($b);