3v4l.org

run code in 300+ PHP versions simultaneously
<?php // Get rid of the global $_GET variable unset($_GET); // Recreate it as a closure $_GET = function($varName) { return filter_input(INPUT_GET, 'test', FILTER_SANITIZE_STRING); // a closure must have a semicolon at the end }; ?> <hr> Globals variables defined after creating function: <br/> <?php var_dump($GLOBALS); ?> <?php // get query string variable 'test' $var = $_GET('test'); ?> My var is <?= $var; ?> <hr> <?php if (filter_has_var ( INPUT_GET , 'test' )) { echo 'input get has test'; } else { echo 'input get has not test'; }
Output for 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
<hr> Globals variables defined after creating function: <br/> array(7) { ["_POST"]=> array(0) { } ["_COOKIE"]=> array(0) { } ["_FILES"]=> array(0) { } ["argv"]=> array(1) { [0]=> string(9) "/in/uBMK2" } ["argc"]=> int(1) ["_SERVER"]=> array(17) { ["TERM"]=> string(5) "xterm" ["PATH"]=> string(13) "/usr/bin:/bin" ["LANG"]=> string(1) "C" ["SHELL"]=> string(7) "/bin/sh" ["MAIL"]=> string(16) "/var/mail/nobody" ["LOGNAME"]=> string(6) "nobody" ["USER"]=> string(6) "nobody" ["HOME"]=> string(4) "/tmp" ["PHP_SELF"]=> string(9) "/in/uBMK2" ["SCRIPT_NAME"]=> string(9) "/in/uBMK2" ["SCRIPT_FILENAME"]=> string(9) "/in/uBMK2" ["PATH_TRANSLATED"]=> string(9) "/in/uBMK2" ["DOCUMENT_ROOT"]=> string(0) "" ["REQUEST_TIME_FLOAT"]=> float(1400574407.0001) ["REQUEST_TIME"]=> int(1400574407) ["argv"]=> array(1) { [0]=> string(9) "/in/uBMK2" } ["argc"]=> int(1) } ["_GET"]=> object(Closure)#1 (1) { ["parameter"]=> array(1) { ["$varName"]=> string(10) "<required>" } } } Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in /in/uBMK2 on line 8 My var is <hr> input get has not test
Output for 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.40, 8.0.0 - 8.0.30
<hr> Globals variables defined after creating function: <br/> array(8) { ["_POST"]=> array(0) { } ["_COOKIE"]=> array(0) { } ["_FILES"]=> array(0) { } ["argv"]=> array(1) { [0]=> string(9) "/in/uBMK2" } ["argc"]=> int(1) ["_SERVER"]=> array(17) { ["TERM"]=> string(5) "xterm" ["PATH"]=> string(13) "/usr/bin:/bin" ["LANG"]=> string(1) "C" ["SHELL"]=> string(7) "/bin/sh" ["MAIL"]=> string(16) "/var/mail/nobody" ["LOGNAME"]=> string(6) "nobody" ["USER"]=> string(6) "nobody" ["HOME"]=> string(4) "/tmp" ["PHP_SELF"]=> string(9) "/in/uBMK2" ["SCRIPT_NAME"]=> string(9) "/in/uBMK2" ["SCRIPT_FILENAME"]=> string(9) "/in/uBMK2" ["PATH_TRANSLATED"]=> string(9) "/in/uBMK2" ["DOCUMENT_ROOT"]=> string(0) "" ["REQUEST_TIME_FLOAT"]=> float(1400574407.0001) ["REQUEST_TIME"]=> int(1400574407) ["argv"]=> array(1) { [0]=> string(9) "/in/uBMK2" } ["argc"]=> int(1) } ["GLOBALS"]=> *RECURSION* ["_GET"]=> object(Closure)#1 (1) { ["parameter"]=> array(1) { ["$varName"]=> string(10) "<required>" } } } My var is <hr> input get has not test
Output for 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33
<hr> Globals variables defined after creating function: <br/> array(8) { ["_POST"]=> array(0) { } ["_COOKIE"]=> array(0) { } ["_FILES"]=> array(0) { } ["argv"]=> array(1) { [0]=> string(9) "/in/uBMK2" } ["argc"]=> int(1) ["_SERVER"]=> array(17) { ["TERM"]=> string(5) "xterm" ["PATH"]=> string(13) "/usr/bin:/bin" ["LANG"]=> string(1) "C" ["SHELL"]=> string(7) "/bin/sh" ["MAIL"]=> string(16) "/var/mail/nobody" ["LOGNAME"]=> string(6) "nobody" ["USER"]=> string(6) "nobody" ["HOME"]=> string(4) "/tmp" ["PHP_SELF"]=> string(9) "/in/uBMK2" ["SCRIPT_NAME"]=> string(9) "/in/uBMK2" ["SCRIPT_FILENAME"]=> string(9) "/in/uBMK2" ["PATH_TRANSLATED"]=> string(9) "/in/uBMK2" ["DOCUMENT_ROOT"]=> string(0) "" ["REQUEST_TIME_FLOAT"]=> float(1400574407.0001) ["REQUEST_TIME"]=> int(1400574407) ["argv"]=> array(1) { [0]=> string(9) "/in/uBMK2" } ["argc"]=> int(1) } ["GLOBALS"]=> array(8) { ["_POST"]=> array(0) { } ["_COOKIE"]=> array(0) { } ["_FILES"]=> array(0) { } ["argv"]=> array(1) { [0]=> string(9) "/in/uBMK2" } ["argc"]=> int(1) ["_SERVER"]=> array(17) { ["TERM"]=> string(5) "xterm" ["PATH"]=> string(13) "/usr/bin:/bin" ["LANG"]=> string(1) "C" ["SHELL"]=> string(7) "/bin/sh" ["MAIL"]=> string(16) "/var/mail/nobody" ["LOGNAME"]=> string(6) "nobody" ["USER"]=> string(6) "nobody" ["HOME"]=> string(4) "/tmp" ["PHP_SELF"]=> string(9) "/in/uBMK2" ["SCRIPT_NAME"]=> string(9) "/in/uBMK2" ["SCRIPT_FILENAME"]=> string(9) "/in/uBMK2" ["PATH_TRANSLATED"]=> string(9) "/in/uBMK2" ["DOCUMENT_ROOT"]=> string(0) "" ["REQUEST_TIME_FLOAT"]=> float(1400574407.0001) ["REQUEST_TIME"]=> int(1400574407) ["argv"]=> array(1) { [0]=> string(9) "/in/uBMK2" } ["argc"]=> int(1) } ["GLOBALS"]=> *RECURSION* ["_GET"]=> object(Closure)#1 (1) { ["parameter"]=> array(1) { ["$varName"]=> string(10) "<required>" } } } ["_GET"]=> object(Closure)#1 (1) { ["parameter"]=> array(1) { ["$varName"]=> string(10) "<required>" } } } My var is <hr> input get has not test
Output for 5.3.3 - 5.3.29
<hr> Globals variables defined after creating function: <br/> array(16) { ["GLOBALS"]=> *RECURSION* ["_ENV"]=> array(8) { ["TERM"]=> string(5) "xterm" ["PATH"]=> string(13) "/usr/bin:/bin" ["LANG"]=> string(1) "C" ["SHELL"]=> string(7) "/bin/sh" ["MAIL"]=> string(16) "/var/mail/nobody" ["LOGNAME"]=> string(6) "nobody" ["USER"]=> string(6) "nobody" ["HOME"]=> string(4) "/tmp" } ["HTTP_ENV_VARS"]=> array(8) { ["TERM"]=> string(5) "xterm" ["PATH"]=> string(13) "/usr/bin:/bin" ["LANG"]=> string(1) "C" ["SHELL"]=> string(7) "/bin/sh" ["MAIL"]=> string(16) "/var/mail/nobody" ["LOGNAME"]=> string(6) "nobody" ["USER"]=> string(6) "nobody" ["HOME"]=> string(4) "/tmp" } ["argv"]=> array(1) { [0]=> string(9) "/in/uBMK2" } ["argc"]=> int(1) ["_POST"]=> array(0) { } ["HTTP_POST_VARS"]=> array(0) { } ["HTTP_GET_VARS"]=> array(0) { } ["_COOKIE"]=> array(0) { } ["HTTP_COOKIE_VARS"]=> array(0) { } ["_SERVER"]=> array(16) { ["TERM"]=> string(5) "xterm" ["PATH"]=> string(13) "/usr/bin:/bin" ["LANG"]=> string(1) "C" ["SHELL"]=> string(7) "/bin/sh" ["MAIL"]=> string(16) "/var/mail/nobody" ["LOGNAME"]=> string(6) "nobody" ["USER"]=> string(6) "nobody" ["HOME"]=> string(4) "/tmp" ["PHP_SELF"]=> string(9) "/in/uBMK2" ["SCRIPT_NAME"]=> string(9) "/in/uBMK2" ["SCRIPT_FILENAME"]=> string(9) "/in/uBMK2" ["PATH_TRANSLATED"]=> string(9) "/in/uBMK2" ["DOCUMENT_ROOT"]=> string(0) "" ["REQUEST_TIME"]=> int(1400574407) ["argv"]=> array(1) { [0]=> string(9) "/in/uBMK2" } ["argc"]=> int(1) } ["HTTP_SERVER_VARS"]=> array(16) { ["TERM"]=> string(5) "xterm" ["PATH"]=> string(13) "/usr/bin:/bin" ["LANG"]=> string(1) "C" ["SHELL"]=> string(7) "/bin/sh" ["MAIL"]=> string(16) "/var/mail/nobody" ["LOGNAME"]=> string(6) "nobody" ["USER"]=> string(6) "nobody" ["HOME"]=> string(4) "/tmp" ["PHP_SELF"]=> string(9) "/in/uBMK2" ["SCRIPT_NAME"]=> string(9) "/in/uBMK2" ["SCRIPT_FILENAME"]=> string(9) "/in/uBMK2" ["PATH_TRANSLATED"]=> string(9) "/in/uBMK2" ["DOCUMENT_ROOT"]=> string(0) "" ["REQUEST_TIME"]=> int(1400574407) ["argv"]=> array(1) { [0]=> string(9) "/in/uBMK2" } ["argc"]=> int(1) } ["_FILES"]=> array(0) { } ["HTTP_POST_FILES"]=> array(0) { } ["_REQUEST"]=> array(0) { } ["_GET"]=> object(Closure)#1 (1) { ["parameter"]=> array(1) { ["$varName"]=> string(10) "<required>" } } } My var is <?= $var; ?> <hr> input get has not test
Output for 5.3.0 - 5.3.2
<hr> Globals variables defined after creating function: <br/> array(16) { ["GLOBALS"]=> array(16) { ["GLOBALS"]=> *RECURSION* ["_ENV"]=> array(8) { ["TERM"]=> string(5) "xterm" ["PATH"]=> string(13) "/usr/bin:/bin" ["LANG"]=> string(1) "C" ["SHELL"]=> string(7) "/bin/sh" ["MAIL"]=> string(16) "/var/mail/nobody" ["LOGNAME"]=> string(6) "nobody" ["USER"]=> string(6) "nobody" ["HOME"]=> string(4) "/tmp" } ["HTTP_ENV_VARS"]=> array(8) { ["TERM"]=> string(5) "xterm" ["PATH"]=> string(13) "/usr/bin:/bin" ["LANG"]=> string(1) "C" ["SHELL"]=> string(7) "/bin/sh" ["MAIL"]=> string(16) "/var/mail/nobody" ["LOGNAME"]=> string(6) "nobody" ["USER"]=> string(6) "nobody" ["HOME"]=> string(4) "/tmp" } ["argv"]=> array(1) { [0]=> string(9) "/in/uBMK2" } ["argc"]=> int(1) ["_POST"]=> array(0) { } ["HTTP_POST_VARS"]=> array(0) { } ["HTTP_GET_VARS"]=> array(0) { } ["_COOKIE"]=> array(0) { } ["HTTP_COOKIE_VARS"]=> array(0) { } ["_SERVER"]=> array(16) { ["TERM"]=> string(5) "xterm" ["PATH"]=> string(13) "/usr/bin:/bin" ["LANG"]=> string(1) "C" ["SHELL"]=> string(7) "/bin/sh" ["MAIL"]=> string(16) "/var/mail/nobody" ["LOGNAME"]=> string(6) "nobody" ["USER"]=> string(6) "nobody" ["HOME"]=> string(4) "/tmp" ["PHP_SELF"]=> string(9) "/in/uBMK2" ["SCRIPT_NAME"]=> string(9) "/in/uBMK2" ["SCRIPT_FILENAME"]=> string(9) "/in/uBMK2" ["PATH_TRANSLATED"]=> string(9) "/in/uBMK2" ["DOCUMENT_ROOT"]=> string(0) "" ["REQUEST_TIME"]=> int(1400574407) ["argv"]=> array(1) { [0]=> string(9) "/in/uBMK2" } ["argc"]=> int(1) } ["HTTP_SERVER_VARS"]=> array(16) { ["TERM"]=> string(5) "xterm" ["PATH"]=> string(13) "/usr/bin:/bin" ["LANG"]=> string(1) "C" ["SHELL"]=> string(7) "/bin/sh" ["MAIL"]=> string(16) "/var/mail/nobody" ["LOGNAME"]=> string(6) "nobody" ["USER"]=> string(6) "nobody" ["HOME"]=> string(4) "/tmp" ["PHP_SELF"]=> string(9) "/in/uBMK2" ["SCRIPT_NAME"]=> string(9) "/in/uBMK2" ["SCRIPT_FILENAME"]=> string(9) "/in/uBMK2" ["PATH_TRANSLATED"]=> string(9) "/in/uBMK2" ["DOCUMENT_ROOT"]=> string(0) "" ["REQUEST_TIME"]=> int(1400574407) ["argv"]=> array(1) { [0]=> string(9) "/in/uBMK2" } ["argc"]=> int(1) } ["_FILES"]=> array(0) { } ["HTTP_POST_FILES"]=> array(0) { } ["_REQUEST"]=> array(0) { } ["_GET"]=> object(Closure)#1 (1) { ["parameter"]=> array(1) { ["$varName"]=> string(10) "<required>" } } } ["_ENV"]=> array(8) { ["TERM"]=> string(5) "xterm" ["PATH"]=> string(13) "/usr/bin:/bin" ["LANG"]=> string(1) "C" ["SHELL"]=> string(7) "/bin/sh" ["MAIL"]=> string(16) "/var/mail/nobody" ["LOGNAME"]=> string(6) "nobody" ["USER"]=> string(6) "nobody" ["HOME"]=> string(4) "/tmp" } ["HTTP_ENV_VARS"]=> array(8) { ["TERM"]=> string(5) "xterm" ["PATH"]=> string(13) "/usr/bin:/bin" ["LANG"]=> string(1) "C" ["SHELL"]=> string(7) "/bin/sh" ["MAIL"]=> string(16) "/var/mail/nobody" ["LOGNAME"]=> string(6) "nobody" ["USER"]=> string(6) "nobody" ["HOME"]=> string(4) "/tmp" } ["argv"]=> array(1) { [0]=> string(9) "/in/uBMK2" } ["argc"]=> int(1) ["_POST"]=> array(0) { } ["HTTP_POST_VARS"]=> array(0) { } ["HTTP_GET_VARS"]=> array(0) { } ["_COOKIE"]=> array(0) { } ["HTTP_COOKIE_VARS"]=> array(0) { } ["_SERVER"]=> array(16) { ["TERM"]=> string(5) "xterm" ["PATH"]=> string(13) "/usr/bin:/bin" ["LANG"]=> string(1) "C" ["SHELL"]=> string(7) "/bin/sh" ["MAIL"]=> string(16) "/var/mail/nobody" ["LOGNAME"]=> string(6) "nobody" ["USER"]=> string(6) "nobody" ["HOME"]=> string(4) "/tmp" ["PHP_SELF"]=> string(9) "/in/uBMK2" ["SCRIPT_NAME"]=> string(9) "/in/uBMK2" ["SCRIPT_FILENAME"]=> string(9) "/in/uBMK2" ["PATH_TRANSLATED"]=> string(9) "/in/uBMK2" ["DOCUMENT_ROOT"]=> string(0) "" ["REQUEST_TIME"]=> int(1400574407) ["argv"]=> array(1) { [0]=> string(9) "/in/uBMK2" } ["argc"]=> int(1) } ["HTTP_SERVER_VARS"]=> array(16) { ["TERM"]=> string(5) "xterm" ["PATH"]=> string(13) "/usr/bin:/bin" ["LANG"]=> string(1) "C" ["SHELL"]=> string(7) "/bin/sh" ["MAIL"]=> string(16) "/var/mail/nobody" ["LOGNAME"]=> string(6) "nobody" ["USER"]=> string(6) "nobody" ["HOME"]=> string(4) "/tmp" ["PHP_SELF"]=> string(9) "/in/uBMK2" ["SCRIPT_NAME"]=> string(9) "/in/uBMK2" ["SCRIPT_FILENAME"]=> string(9) "/in/uBMK2" ["PATH_TRANSLATED"]=> string(9) "/in/uBMK2" ["DOCUMENT_ROOT"]=> string(0) "" ["REQUEST_TIME"]=> int(1400574407) ["argv"]=> array(1) { [0]=> string(9) "/in/uBMK2" } ["argc"]=> int(1) } ["_FILES"]=> array(0) { } ["HTTP_POST_FILES"]=> array(0) { } ["_REQUEST"]=> array(0) { } ["_GET"]=> object(Closure)#1 (1) { ["parameter"]=> array(1) { ["$varName"]=> string(10) "<required>" } } } My var is <?= $var; ?> <hr> input get has not test
Output for 4.4.2 - 4.4.9, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17
Parse error: syntax error, unexpected T_FUNCTION in /in/uBMK2 on line 7
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.3.11, 4.4.0 - 4.4.1, 5.0.0 - 5.0.5
Parse error: parse error, unexpected T_FUNCTION in /in/uBMK2 on line 7
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error in /in/uBMK2 on line 7
Process exited with code 255.

preferences:
288.75 ms | 401 KiB | 465 Q