3v4l.org

run code in 300+ PHP versions simultaneously
<?php $string = '<?php echo $a ?? 2; echo $a ?? $b ?? 7; '; $tokens = token_get_all($string); foreach ($tokens as $i => $token) { echo "$i : "; if (is_array($token) === false) { echo $token; } else { echo token_name($token[0]).' => '.str_replace(PHP_EOL, '\n', $token[1]); } echo PHP_EOL; }
Output for git.master, git.master_jit, rfc.property-hooks
0 : T_OPEN_TAG => <?php\n 1 : T_ECHO => echo 2 : T_WHITESPACE => 3 : T_VARIABLE => $a 4 : T_WHITESPACE => 5 : T_COALESCE => ?? 6 : T_WHITESPACE => 7 : T_LNUMBER => 2 8 : ; 9 : T_WHITESPACE => \n 10 : T_ECHO => echo 11 : T_WHITESPACE => 12 : T_VARIABLE => $a 13 : T_WHITESPACE => 14 : T_COALESCE => ?? 15 : T_WHITESPACE => 16 : T_VARIABLE => $b 17 : T_WHITESPACE => 18 : T_COALESCE => ?? 19 : T_WHITESPACE => 20 : T_LNUMBER => 7 21 : ; 22 : T_WHITESPACE => \n

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
40.97 ms | 402 KiB | 8 Q