3v4l.org

run code in 300+ PHP versions simultaneously
<?php $tokens = PhpToken::tokenize('<?php function foo() { /* c1 */ yield /* c2 */ from gen(); }'); print_r(array_slice($tokens, 7));
Output for 8.3.0, 8.3.2, 8.3.4, 8.3.7, 8.3.9, 8.3.11
Array ( [0] => PhpToken Object ( [id] => 123 [text] => { [line] => 1 [pos] => 21 ) [1] => PhpToken Object ( [id] => 397 [text] => [line] => 1 [pos] => 22 ) [2] => PhpToken Object ( [id] => 392 [text] => /* c1 */ [line] => 1 [pos] => 23 ) [3] => PhpToken Object ( [id] => 397 [text] => [line] => 1 [pos] => 31 ) [4] => PhpToken Object ( [id] => 270 [text] => yield /* c2 */ from [line] => 1 [pos] => 32 ) [5] => PhpToken Object ( [id] => 397 [text] => [line] => 1 [pos] => 51 ) [6] => PhpToken Object ( [id] => 313 [text] => gen [line] => 1 [pos] => 52 ) [7] => PhpToken Object ( [id] => 40 [text] => ( [line] => 1 [pos] => 55 ) [8] => PhpToken Object ( [id] => 41 [text] => ) [line] => 1 [pos] => 56 ) [9] => PhpToken Object ( [id] => 59 [text] => ; [line] => 1 [pos] => 57 ) [10] => PhpToken Object ( [id] => 397 [text] => [line] => 1 [pos] => 58 ) [11] => PhpToken Object ( [id] => 125 [text] => } [line] => 1 [pos] => 59 ) )
Output for 8.3.1, 8.3.3, 8.3.5 - 8.3.6, 8.3.8, 8.3.10
Array ( [0] => PhpToken Object ( [id] => 123 [text] => { [line] => 1 [pos] => 21 ) [1] => PhpToken Object ( [id] => 392 [text] => [line] => 1 [pos] => 22 ) [2] => PhpToken Object ( [id] => 387 [text] => /* c1 */ [line] => 1 [pos] => 23 ) [3] => PhpToken Object ( [id] => 392 [text] => [line] => 1 [pos] => 31 ) [4] => PhpToken Object ( [id] => 282 [text] => yield /* c2 */ from [line] => 1 [pos] => 32 ) [5] => PhpToken Object ( [id] => 392 [text] => [line] => 1 [pos] => 51 ) [6] => PhpToken Object ( [id] => 262 [text] => gen [line] => 1 [pos] => 52 ) [7] => PhpToken Object ( [id] => 40 [text] => ( [line] => 1 [pos] => 55 ) [8] => PhpToken Object ( [id] => 41 [text] => ) [line] => 1 [pos] => 56 ) [9] => PhpToken Object ( [id] => 59 [text] => ; [line] => 1 [pos] => 57 ) [10] => PhpToken Object ( [id] => 392 [text] => [line] => 1 [pos] => 58 ) [11] => PhpToken Object ( [id] => 125 [text] => } [line] => 1 [pos] => 59 ) )
Output for 8.1.0 - 8.1.29, 8.2.0 - 8.2.23
Array ( [0] => PhpToken Object ( [id] => 123 [text] => { [line] => 1 [pos] => 21 ) [1] => PhpToken Object ( [id] => 392 [text] => [line] => 1 [pos] => 22 ) [2] => PhpToken Object ( [id] => 387 [text] => /* c1 */ [line] => 1 [pos] => 23 ) [3] => PhpToken Object ( [id] => 392 [text] => [line] => 1 [pos] => 31 ) [4] => PhpToken Object ( [id] => 281 [text] => yield [line] => 1 [pos] => 32 ) [5] => PhpToken Object ( [id] => 392 [text] => [line] => 1 [pos] => 37 ) [6] => PhpToken Object ( [id] => 387 [text] => /* c2 */ [line] => 1 [pos] => 38 ) [7] => PhpToken Object ( [id] => 392 [text] => [line] => 1 [pos] => 46 ) [8] => PhpToken Object ( [id] => 262 [text] => from [line] => 1 [pos] => 47 ) [9] => PhpToken Object ( [id] => 392 [text] => [line] => 1 [pos] => 51 ) [10] => PhpToken Object ( [id] => 262 [text] => gen [line] => 1 [pos] => 52 ) [11] => PhpToken Object ( [id] => 40 [text] => ( [line] => 1 [pos] => 55 ) [12] => PhpToken Object ( [id] => 41 [text] => ) [line] => 1 [pos] => 56 ) [13] => PhpToken Object ( [id] => 59 [text] => ; [line] => 1 [pos] => 57 ) [14] => PhpToken Object ( [id] => 392 [text] => [line] => 1 [pos] => 58 ) [15] => PhpToken Object ( [id] => 125 [text] => } [line] => 1 [pos] => 59 ) )

preferences:
49.1 ms | 422 KiB | 5 Q