3v4l.org

run code in 300+ PHP versions simultaneously
<?php abstract /** */ class /** */ C /** */ { } $php = <<<'EOT' <?php namespace AAA\BBB; use XXX\YYY; // Comment # Comment /* Comment */ /** * @doc */ abstract class C { } EOT; for ($i = 258; $i < 409; ++$i) { $name = token_name($i); # print "$i: $name\n"; } $tokens = token_get_all($php); $readable = ''; foreach ($tokens as $token) { if (is_array($token)) { list($id, $str, $line) = $token; $name = token_name($id); $readable .= "<$id:$name>$str"; } else { $readable .= "<*>$str"; } } print $readable;
Output for git.master, git.master_jit
<394:T_OPEN_TAG><?php <397:T_WHITESPACE> <375:T_NAMESPACE>namespace<397:T_WHITESPACE> <316:T_NAME_QUALIFIED>AAA\BBB<*>AAA\BBB<397:T_WHITESPACE> <354:T_USE>use<397:T_WHITESPACE> <316:T_NAME_QUALIFIED>XXX\YYY<*>XXX\YYY<397:T_WHITESPACE> <392:T_COMMENT>// Comment<397:T_WHITESPACE> <392:T_COMMENT># Comment<397:T_WHITESPACE> <392:T_COMMENT>/* Comment */<397:T_WHITESPACE> <393:T_DOC_COMMENT>/** * @doc */<397:T_WHITESPACE> <358:T_ABSTRACT>abstract<397:T_WHITESPACE> <369:T_CLASS>class<397:T_WHITESPACE> <313:T_STRING>C<397:T_WHITESPACE> <*> <397:T_WHITESPACE> <*> <397:T_WHITESPACE>
Output for rfc.property-hooks
<396:T_OPEN_TAG><?php <399:T_WHITESPACE> <376:T_NAMESPACE>namespace<399:T_WHITESPACE> <316:T_NAME_QUALIFIED>AAA\BBB<*>AAA\BBB<399:T_WHITESPACE> <355:T_USE>use<399:T_WHITESPACE> <316:T_NAME_QUALIFIED>XXX\YYY<*>XXX\YYY<399:T_WHITESPACE> <394:T_COMMENT>// Comment<399:T_WHITESPACE> <394:T_COMMENT># Comment<399:T_WHITESPACE> <394:T_COMMENT>/* Comment */<399:T_WHITESPACE> <395:T_DOC_COMMENT>/** * @doc */<399:T_WHITESPACE> <359:T_ABSTRACT>abstract<399:T_WHITESPACE> <370:T_CLASS>class<399:T_WHITESPACE> <313:T_STRING>C<399:T_WHITESPACE> <*> <399:T_WHITESPACE> <*> <399:T_WHITESPACE>

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:
48.75 ms | 402 KiB | 8 Q