3v4l.org

run code in 300+ PHP versions simultaneously
<?php function myfunc(){ return 'works'; } define('func', 'myfunc'); (func)(); // Error: function "func" not defined $tokens = token_get_all('<?php function myfunc(){ echo \'works\'; } define(\'func\', \'myfunc\'); (func)();'); foreach ($tokens as $token) { if (is_array($token)) { echo "Line {$token[2]}: ", token_name($token[0]), " ('{$token[1]}')", PHP_EOL; } }
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, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.27, 8.4.1 - 8.4.14
Line 1: T_OPEN_TAG ('<?php ') Line 1: T_WHITESPACE (' ') Line 2: T_FUNCTION ('function') Line 2: T_WHITESPACE (' ') Line 2: T_STRING ('myfunc') Line 2: T_WHITESPACE (' ') Line 2: T_ECHO ('echo') Line 2: T_WHITESPACE (' ') Line 2: T_CONSTANT_ENCAPSED_STRING (''works'') Line 2: T_WHITESPACE (' ') Line 2: T_WHITESPACE (' ') Line 3: T_STRING ('define') Line 3: T_CONSTANT_ENCAPSED_STRING (''func'') Line 3: T_WHITESPACE (' ') Line 3: T_CONSTANT_ENCAPSED_STRING (''myfunc'') Line 3: T_WHITESPACE (' ') Line 4: T_STRING ('func')
Output for 4.4.2 - 4.4.9, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.40
Parse error: syntax error, unexpected '(' in /in/uE4kg on line 5
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 '(' in /in/uE4kg on line 5
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error in /in/uE4kg on line 5
Process exited with code 255.

preferences:
177.02 ms | 410 KiB | 5 Q