3v4l.org

run code in 300+ PHP versions simultaneously
<?php $tokens = token_get_all('<?php $a = 1 + 2; echo $a ?>'); foreach($tokens as $token) { echo "{$token[0]} ({$token[1]})"; }
Output for 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.1, 8.3.3, 8.3.5 - 8.3.6
389 (<?php )266 ($a)392 ( ) Warning: Uninitialized string offset 1 in /in/nQsBU on line 6 = ()392 ( )260 (1)392 ( ) Warning: Uninitialized string offset 1 in /in/nQsBU on line 6 + ()392 ( )260 (2) Warning: Uninitialized string offset 1 in /in/nQsBU on line 6 ; ()392 ( )291 (echo)392 ( )266 ($a)392 ( )391 (?>)
Output for 8.3.0, 8.3.2, 8.3.4
394 (<?php )317 ($a)397 ( ) Warning: Uninitialized string offset 1 in /in/nQsBU on line 6 = ()397 ( )311 (1)397 ( ) Warning: Uninitialized string offset 1 in /in/nQsBU on line 6 + ()397 ( )311 (2) Warning: Uninitialized string offset 1 in /in/nQsBU on line 6 ; ()397 ( )328 (echo)397 ( )317 ($a)397 ( )396 (?>)
Output for 8.0.30
387 (<?php )266 ($a)390 ( ) Warning: Uninitialized string offset 1 in /in/nQsBU on line 6 = ()390 ( )260 (1)390 ( ) Warning: Uninitialized string offset 1 in /in/nQsBU on line 6 + ()390 ( )260 (2) Warning: Uninitialized string offset 1 in /in/nQsBU on line 6 ; ()390 ( )291 (echo)390 ( )266 ($a)390 ( )389 (?>)
Output for 8.0.0 - 8.0.29
390 (<?php )315 ($a)393 ( ) Warning: Uninitialized string offset 1 in /in/nQsBU on line 6 = ()393 ( )309 (1)393 ( ) Warning: Uninitialized string offset 1 in /in/nQsBU on line 6 + ()393 ( )309 (2) Warning: Uninitialized string offset 1 in /in/nQsBU on line 6 ; ()393 ( )326 (echo)393 ( )315 ($a)393 ( )392 (?>)
Output for 7.4.0 - 7.4.25, 7.4.27 - 7.4.33
382 (<?php )312 ($a)385 ( ) Notice: Uninitialized string offset: 1 in /in/nQsBU on line 6 = ()385 ( )309 (1)385 ( ) Notice: Uninitialized string offset: 1 in /in/nQsBU on line 6 + ()385 ( )309 (2) Notice: Uninitialized string offset: 1 in /in/nQsBU on line 6 ; ()385 ( )324 (echo)385 ( )312 ($a)385 ( )384 (?>)
Output for 7.4.26
382 (<?php )312 ($a)385 ( )= ()385 ( )309 (1)385 ( )+ ()385 ( )309 (2); ()385 ( )324 (echo)385 ( )312 ($a)385 ( )384 (?>)
Output for 7.3.32 - 7.3.33
379 (<?php )320 ($a)382 ( )= ()382 ( )317 (1)382 ( )+ ()382 ( )317 (2); ()382 ( )328 (echo)382 ( )320 ($a)382 ( )381 (?>)
Output for 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.31
379 (<?php )320 ($a)382 ( ) Notice: Uninitialized string offset: 1 in /in/nQsBU on line 6 = ()382 ( )317 (1)382 ( ) Notice: Uninitialized string offset: 1 in /in/nQsBU on line 6 + ()382 ( )317 (2) Notice: Uninitialized string offset: 1 in /in/nQsBU on line 6 ; ()382 ( )328 (echo)382 ( )320 ($a)382 ( )381 (?>)
Output for 5.6.0 - 5.6.40
376 (<?php )312 ($a)379 ( ) Notice: Uninitialized string offset: 1 in /in/nQsBU on line 6 = ()379 ( )308 (1)379 ( ) Notice: Uninitialized string offset: 1 in /in/nQsBU on line 6 + ()379 ( )308 (2) Notice: Uninitialized string offset: 1 in /in/nQsBU on line 6 ; ()379 ( )319 (echo)379 ( )312 ($a)379 ( )378 (?>)
Output for 5.5.0 - 5.5.38
374 (<?php )310 ($a)377 ( ) Notice: Uninitialized string offset: 1 in /in/nQsBU on line 6 = ()377 ( )306 (1)377 ( ) Notice: Uninitialized string offset: 1 in /in/nQsBU on line 6 + ()377 ( )306 (2) Notice: Uninitialized string offset: 1 in /in/nQsBU on line 6 ; ()377 ( )317 (echo)377 ( )310 ($a)377 ( )376 (?>)
Output for 5.4.0 - 5.4.45
372 (<?php )309 ($a)375 ( ) Notice: Uninitialized string offset: 1 in /in/nQsBU on line 6 = ()375 ( )305 (1)375 ( ) Notice: Uninitialized string offset: 1 in /in/nQsBU on line 6 + ()375 ( )305 (2) Notice: Uninitialized string offset: 1 in /in/nQsBU on line 6 ; ()375 ( )316 (echo)375 ( )309 ($a)375 ( )374 (?>)
Output for 5.3.0 - 5.3.29
368 (<?php )309 ($a)371 ( ) Notice: Uninitialized string offset: 1 in /in/nQsBU on line 6 = ()371 ( )305 (1)371 ( ) Notice: Uninitialized string offset: 1 in /in/nQsBU on line 6 + ()371 ( )305 (2) Notice: Uninitialized string offset: 1 in /in/nQsBU on line 6 ; ()371 ( )316 (echo)371 ( )309 ($a)371 ( )370 (?>)
Output for 5.2.10 - 5.2.17
367 (<?php )309 ($a)370 ( ) Notice: Uninitialized string offset: 1 in /in/nQsBU on line 6 = ()370 ( )305 (1)370 ( ) Notice: Uninitialized string offset: 1 in /in/nQsBU on line 6 + ()370 ( )305 (2) Notice: Uninitialized string offset: 1 in /in/nQsBU on line 6 ; ()370 ( )316 (echo)370 ( )309 ($a)370 ( )369 (?>)
Output for 5.1.0 - 5.1.6, 5.2.0 - 5.2.9
367 (<?php )309 ($a)370 ( ) Notice: Uninitialized string offset: 1 in /in/nQsBU on line 6 = ()370 ( )305 (1)370 ( ) Notice: Uninitialized string offset: 1 in /in/nQsBU on line 6 + ()370 ( )305 (2) Notice: Uninitialized string offset: 1 in /in/nQsBU on line 6 ; ()370 ( )316 (echo)370 ( )309 ($a)370 ( )369 (?>)
Output for 5.0.0 - 5.0.5
365 (<?php )308 ($a)368 ( ) Notice: Uninitialized string offset: 1 in /in/nQsBU on line 6 = ()368 ( )304 (1)368 ( ) Notice: Uninitialized string offset: 1 in /in/nQsBU on line 6 + ()368 ( )304 (2) Notice: Uninitialized string offset: 1 in /in/nQsBU on line 6 ; ()368 ( )315 (echo)368 ( )308 ($a)368 ( )367 (?>)
Output for 4.4.2 - 4.4.9
354 (<?php )307 ($a)357 ( ) Notice: Uninitialized string offset: 1 in /in/nQsBU on line 6 = ()357 ( )303 (1)357 ( ) Notice: Uninitialized string offset: 1 in /in/nQsBU on line 6 + ()357 ( )303 (2) Notice: Uninitialized string offset: 1 in /in/nQsBU on line 6 ; ()357 ( )314 (echo)357 ( )307 ($a)357 ( )356 (?>)
Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.1
353 (<?php )306 ($a)356 ( ) Notice: Uninitialized string offset: 1 in /in/nQsBU on line 6 = ()356 ( )302 (1)356 ( ) Notice: Uninitialized string offset: 1 in /in/nQsBU on line 6 + ()356 ( )302 (2) Notice: Uninitialized string offset: 1 in /in/nQsBU on line 6 ; ()356 ( )313 (echo)356 ( )306 ($a)356 ( )355 (?>)

preferences:
317.88 ms | 402 KiB | 460 Q