3v4l.org

run code in 300+ PHP versions simultaneously
<?php error_reporting( -1 ); ini_set('display_errors', '1'); set_error_handler('my_error_handler'); $global_last_undefined_variable = false; function my_error_handler($severity, $message, $filename, $lineno) { global $global_last_undefined_variable; if ( $severity == E_NOTICE ) { if ( preg_match( '/^Undefined variable: (.*?)$/', $message, $matches ) ) { $global_last_undefined_variable = $matches[1]; } } return false; } function is_undefined( $var ) { global $global_last_undefined_variable; $result = $global_last_undefined_variable==$var; if ( $result ) $global_last_undefined_variable = false; return $result; } $last_notice = false; $a = null; // $b - undefined if ( $a===null && is_undefined( 'a' ) ) echo "a is undefined\n"; else echo "a is defined\n"; if ( $b===null && is_undefined( 'b' ) ) echo "b is undefined\n"; else echo "b is defined\n";

preferences:
30.67 ms | 402 KiB | 5 Q