3v4l.org

run code in 300+ PHP versions simultaneously
<?php $code = '<?php $a = $a + $b; function extractURL($url) { if (preg_match(\'#http://www.google.com/?$#i\', $url, $match)) { return $match[1]; } return null; } '; $tokens = token_get_all($code); foreach ($tokens as $token) { if (is_string($token)) { print "[(string)] " . $token . "\r\n"; } else { print "[" . token_name($token[0]) . "] " . $token[1] . "\r\n"; } }
Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 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, 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.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
[T_OPEN_TAG] <?php [T_VARIABLE] $a [T_WHITESPACE] [(string)] = [T_WHITESPACE] [T_VARIABLE] $a [T_WHITESPACE] [(string)] + [T_WHITESPACE] [T_VARIABLE] $b [(string)] ; [T_WHITESPACE] [T_FUNCTION] function [T_WHITESPACE] [T_STRING] extractURL [(string)] ( [T_VARIABLE] $url [(string)] ) [T_WHITESPACE] [(string)] { [T_WHITESPACE] [T_IF] if [T_WHITESPACE] [(string)] ( [T_STRING] preg_match [(string)] ( [T_CONSTANT_ENCAPSED_STRING] '#http://www.google.com/?$#i' [(string)] , [T_WHITESPACE] [T_VARIABLE] $url [(string)] , [T_WHITESPACE] [T_VARIABLE] $match [(string)] ) [(string)] ) [T_WHITESPACE] [(string)] { [T_WHITESPACE] [T_RETURN] return [T_WHITESPACE] [T_VARIABLE] $match [(string)] [ [T_LNUMBER] 1 [(string)] ] [(string)] ; [T_WHITESPACE] [(string)] } [T_WHITESPACE] [T_RETURN] return [T_WHITESPACE] [T_STRING] null [(string)] ; [T_WHITESPACE] [(string)] } [T_WHITESPACE]

preferences:
303.67 ms | 408 KiB | 460 Q