3v4l.org

run code in 300+ PHP versions simultaneously
<?php $codes = [ "<?php \0 foo", "<?php \1 bar", "<?php \1\2 bar \3", ]; foreach ($codes as $code) { foreach (token_get_all($code) as $token) { if (is_array($token)) { echo token_name($token[0]), " ", strlen($token[1]), "\n"; } else { echo $token, "\n"; } } }
Output for 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 6 T_BAD_CHARACTER 1 T_WHITESPACE 1 T_STRING 3 T_OPEN_TAG 6 T_BAD_CHARACTER 1 T_WHITESPACE 1 T_STRING 3 T_OPEN_TAG 6 T_BAD_CHARACTER 1 T_BAD_CHARACTER 1 T_WHITESPACE 1 T_STRING 3 T_WHITESPACE 1 T_BAD_CHARACTER 1
Output for 7.4.0 - 7.4.33
Warning: Unexpected character in input: ' in /in/mA4Nh on line 8 T_OPEN_TAG 6 T_BAD_CHARACTER 1 T_WHITESPACE 1 T_STRING 3 Warning: Unexpected character in input: '' (ASCII=1) state=0 in /in/mA4Nh on line 8 T_OPEN_TAG 6 T_BAD_CHARACTER 1 T_WHITESPACE 1 T_STRING 3 Warning: Unexpected character in input: '' (ASCII=1) state=0 in /in/mA4Nh on line 8 Warning: Unexpected character in input: '' (ASCII=2) state=0 in /in/mA4Nh on line 8 Warning: Unexpected character in input: '' (ASCII=3) state=0 in /in/mA4Nh on line 8 T_OPEN_TAG 6 T_BAD_CHARACTER 1 T_BAD_CHARACTER 1 T_WHITESPACE 1 T_STRING 3 T_WHITESPACE 1 T_BAD_CHARACTER 1
Output for 7.1.25 - 7.1.30, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33
Warning: Unexpected character in input: ' in /in/mA4Nh on line 8 T_OPEN_TAG 6 T_WHITESPACE 1 T_STRING 3 Warning: Unexpected character in input: '' (ASCII=1) state=0 in /in/mA4Nh on line 8 T_OPEN_TAG 6 T_WHITESPACE 1 T_STRING 3 Warning: Unexpected character in input: '' (ASCII=1) state=0 in /in/mA4Nh on line 8 Warning: Unexpected character in input: '' (ASCII=2) state=0 in /in/mA4Nh on line 8 Warning: Unexpected character in input: '' (ASCII=3) state=0 in /in/mA4Nh on line 8 T_OPEN_TAG 6 T_WHITESPACE 1 T_STRING 3 T_WHITESPACE 1

preferences:
159.78 ms | 403 KiB | 169 Q