3v4l.org

run code in 300+ PHP versions simultaneously
<?php class /** */ C /** */ { } $php = <<<'EOT' <?php // 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
258: T_THROW 259: UNKNOWN 260: T_INCLUDE 261: T_INCLUDE_ONCE 262: T_REQUIRE 263: T_REQUIRE_ONCE 264: T_LOGICAL_OR 265: T_LOGICAL_XOR 266: T_LOGICAL_AND 267: T_PRINT 268: T_YIELD 269: T_DOUBLE_ARROW 270: T_YIELD_FROM 271: T_PLUS_EQUAL 272: T_MINUS_EQUAL 273: T_MUL_EQUAL 274: T_DIV_EQUAL 275: T_CONCAT_EQUAL 276: T_MOD_EQUAL 277: T_AND_EQUAL 278: T_OR_EQUAL 279: T_XOR_EQUAL 280: T_SL_EQUAL 281: T_SR_EQUAL 282: T_POW_EQUAL 283: T_COALESCE_EQUAL 284: T_COALESCE 285: T_BOOLEAN_OR 286: T_BOOLEAN_AND 287: T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG 288: T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG 289: T_IS_EQUAL 290: T_IS_NOT_EQUAL 291: T_IS_IDENTICAL 292: T_IS_NOT_IDENTICAL 293: T_SPACESHIP 294: T_IS_SMALLER_OR_EQUAL 295: T_IS_GREATER_OR_EQUAL 296: T_SL 297: T_SR 298: T_INSTANCEOF 299: T_INT_CAST 300: T_DOUBLE_CAST 301: T_STRING_CAST 302: T_ARRAY_CAST 303: T_OBJECT_CAST 304: T_BOOL_CAST 305: T_UNSET_CAST 306: T_POW 307: T_CLONE 308: UNKNOWN 309: T_ELSEIF 310: T_ELSE 311: T_LNUMBER 312: T_DNUMBER 313: T_STRING 314: T_NAME_FULLY_QUALIFIED 315: T_NAME_RELATIVE 316: T_NAME_QUALIFIED 317: T_VARIABLE 318: T_INLINE_HTML 319: T_ENCAPSED_AND_WHITESPACE 320: T_CONSTANT_ENCAPSED_STRING 321: T_STRING_VARNAME 322: T_NUM_STRING 323: T_EVAL 324: T_NEW 325: T_EXIT 326: T_IF 327: T_ENDIF 328: T_ECHO 329: T_DO 330: T_WHILE 331: T_ENDWHILE 332: T_FOR 333: T_ENDFOR 334: T_FOREACH 335: T_ENDFOREACH 336: T_DECLARE 337: T_ENDDECLARE 338: T_AS 339: T_SWITCH 340: T_ENDSWITCH 341: T_CASE 342: T_DEFAULT 343: T_MATCH 344: T_BREAK 345: T_CONTINUE 346: T_GOTO 347: T_FUNCTION 348: T_FN 349: T_CONST 350: T_RETURN 351: T_TRY 352: T_CATCH 353: T_FINALLY 354: T_USE 355: T_INSTEADOF 356: T_GLOBAL 357: T_STATIC 358: T_ABSTRACT 359: T_FINAL 360: T_PRIVATE 361: T_PROTECTED 362: T_PUBLIC 363: T_READONLY 364: T_VAR 365: T_UNSET 366: T_ISSET 367: T_EMPTY 368: T_HALT_COMPILER 369: T_CLASS 370: T_TRAIT 371: T_INTERFACE 372: T_ENUM 373: T_EXTENDS 374: T_IMPLEMENTS 375: T_NAMESPACE 376: T_LIST 377: T_ARRAY 378: T_CALLABLE 379: T_LINE 380: T_FILE 381: T_DIR 382: T_CLASS_C 383: T_TRAIT_C 384: T_METHOD_C 385: T_FUNC_C 386: T_NS_C 387: T_ATTRIBUTE 388: T_INC 389: T_DEC 390: T_OBJECT_OPERATOR 391: T_NULLSAFE_OBJECT_OPERATOR 392: T_COMMENT 393: T_DOC_COMMENT 394: T_OPEN_TAG 395: T_OPEN_TAG_WITH_ECHO 396: T_CLOSE_TAG 397: T_WHITESPACE 398: T_START_HEREDOC 399: T_END_HEREDOC 400: T_DOLLAR_OPEN_CURLY_BRACES 401: T_CURLY_OPEN 402: T_DOUBLE_COLON 403: T_NS_SEPARATOR 404: T_ELLIPSIS 405: T_BAD_CHARACTER 406: UNKNOWN 407: UNKNOWN 408: UNKNOWN
Output for rfc.property-hooks
258: T_THROW 259: UNKNOWN 260: T_INCLUDE 261: T_INCLUDE_ONCE 262: T_REQUIRE 263: T_REQUIRE_ONCE 264: T_LOGICAL_OR 265: T_LOGICAL_XOR 266: T_LOGICAL_AND 267: T_PRINT 268: T_YIELD 269: T_DOUBLE_ARROW 270: T_YIELD_FROM 271: T_PLUS_EQUAL 272: T_MINUS_EQUAL 273: T_MUL_EQUAL 274: T_DIV_EQUAL 275: T_CONCAT_EQUAL 276: T_MOD_EQUAL 277: T_AND_EQUAL 278: T_OR_EQUAL 279: T_XOR_EQUAL 280: T_SL_EQUAL 281: T_SR_EQUAL 282: T_POW_EQUAL 283: T_COALESCE_EQUAL 284: T_COALESCE 285: T_BOOLEAN_OR 286: T_BOOLEAN_AND 287: T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG 288: T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG 289: T_IS_EQUAL 290: T_IS_NOT_EQUAL 291: T_IS_IDENTICAL 292: T_IS_NOT_IDENTICAL 293: T_SPACESHIP 294: T_IS_SMALLER_OR_EQUAL 295: T_IS_GREATER_OR_EQUAL 296: T_SL 297: T_SR 298: T_INSTANCEOF 299: T_INT_CAST 300: T_DOUBLE_CAST 301: T_STRING_CAST 302: T_ARRAY_CAST 303: T_OBJECT_CAST 304: T_BOOL_CAST 305: T_UNSET_CAST 306: T_POW 307: T_CLONE 308: UNKNOWN 309: T_ELSEIF 310: T_ELSE 311: T_LNUMBER 312: T_DNUMBER 313: T_STRING 314: T_NAME_FULLY_QUALIFIED 315: T_NAME_RELATIVE 316: T_NAME_QUALIFIED 317: T_VARIABLE 318: T_INLINE_HTML 319: T_ENCAPSED_AND_WHITESPACE 320: T_CONSTANT_ENCAPSED_STRING 321: T_STRING_VARNAME 322: T_NUM_STRING 323: T_PARENT_PROPERTY_HOOK_NAME 324: T_EVAL 325: T_NEW 326: T_EXIT 327: T_IF 328: T_ENDIF 329: T_ECHO 330: T_DO 331: T_WHILE 332: T_ENDWHILE 333: T_FOR 334: T_ENDFOR 335: T_FOREACH 336: T_ENDFOREACH 337: T_DECLARE 338: T_ENDDECLARE 339: T_AS 340: T_SWITCH 341: T_ENDSWITCH 342: T_CASE 343: T_DEFAULT 344: T_MATCH 345: T_BREAK 346: T_CONTINUE 347: T_GOTO 348: T_FUNCTION 349: T_FN 350: T_CONST 351: T_RETURN 352: T_TRY 353: T_CATCH 354: T_FINALLY 355: T_USE 356: T_INSTEADOF 357: T_GLOBAL 358: T_STATIC 359: T_ABSTRACT 360: T_FINAL 361: T_PRIVATE 362: T_PROTECTED 363: T_PUBLIC 364: T_READONLY 365: T_VAR 366: T_UNSET 367: T_ISSET 368: T_EMPTY 369: T_HALT_COMPILER 370: T_CLASS 371: T_TRAIT 372: T_INTERFACE 373: T_ENUM 374: T_EXTENDS 375: T_IMPLEMENTS 376: T_NAMESPACE 377: T_LIST 378: T_ARRAY 379: T_CALLABLE 380: T_LINE 381: T_FILE 382: T_DIR 383: T_CLASS_C 384: T_TRAIT_C 385: T_METHOD_C 386: T_FUNC_C 387: T_PROPERTY_C 388: T_NS_C 389: T_ATTRIBUTE 390: T_INC 391: T_DEC 392: T_OBJECT_OPERATOR 393: T_NULLSAFE_OBJECT_OPERATOR 394: T_COMMENT 395: T_DOC_COMMENT 396: T_OPEN_TAG 397: T_OPEN_TAG_WITH_ECHO 398: T_CLOSE_TAG 399: T_WHITESPACE 400: T_START_HEREDOC 401: T_END_HEREDOC 402: T_DOLLAR_OPEN_CURLY_BRACES 403: T_CURLY_OPEN 404: T_DOUBLE_COLON 405: T_NS_SEPARATOR 406: T_ELLIPSIS 407: T_BAD_CHARACTER 408: UNKNOWN

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:
43.17 ms | 408 KiB | 8 Q