3v4l.org

run code in 300+ PHP versions simultaneously
<?php $code = ' /** * * @param string $script The PHP script * @param string $class The full qualified class name with namespace * @param string $alias An optional alias for the class */ protected function addUseStatement(&$script, $class, $alias = null) { if (isset($this->getTable()->useStatements) && in_array($class, $this->getTable()->useStatements)) { return; } if ($alias) { $script = "use $class as $alias;\n$script"; } else { $script = "use $class;\n$script"; } if (!isset($this->getTable()->useStatements)) { $this->getTable()->useStatements = array(); } $this->getTable()->useStatements[] = $class; } '; print_r(token_get_all("<?php\n$code"));
Output for git.master, git.master_jit
Array ( [0] => Array ( [0] => 394 [1] => <?php [2] => 1 ) [1] => Array ( [0] => 397 [1] => [2] => 2 ) [2] => Array ( [0] => 393 [1] => /** * * @param string $script The PHP script * @param string $class The full qualified class name with namespace * @param string $alias An optional alias for the class */ [2] => 3 ) [3] => Array ( [0] => 397 [1] => [2] => 8 ) [4] => Array ( [0] => 361 [1] => protected [2] => 9 ) [5] => Array ( [0] => 397 [1] => [2] => 9 ) [6] => Array ( [0] => 347 [1] => function [2] => 9 ) [7] => Array ( [0] => 397 [1] => [2] => 9 ) [8] => Array ( [0] => 313 [1] => addUseStatement [2] => 9 ) [9] => ( [10] => Array ( [0] => 288 [1] => & [2] => 9 ) [11] => Array ( [0] => 317 [1] => $script [2] => 9 ) [12] => , [13] => Array ( [0] => 397 [1] => [2] => 9 ) [14] => Array ( [0] => 317 [1] => $class [2] => 9 ) [15] => , [16] => Array ( [0] => 397 [1] => [2] => 9 ) [17] => Array ( [0] => 317 [1] => $alias [2] => 9 ) [18] => Array ( [0] => 397 [1] => [2] => 9 ) [19] => = [20] => Array ( [0] => 397 [1] => [2] => 9 ) [21] => Array ( [0] => 313 [1] => null [2] => 9 ) [22] => ) [23] => Array ( [0] => 397 [1] => [2] => 9 ) [24] => { [25] => Array ( [0] => 397 [1] => [2] => 10 ) [26] => Array ( [0] => 326 [1] => if [2] => 11 ) [27] => Array ( [0] => 397 [1] => [2] => 11 ) [28] => ( [29] => Array ( [0] => 366 [1] => isset [2] => 11 ) [30] => ( [31] => Array ( [0] => 317 [1] => $this [2] => 11 ) [32] => Array ( [0] => 390 [1] => -> [2] => 11 ) [33] => Array ( [0] => 313 [1] => getTable [2] => 11 ) [34] => ( [35] => ) [36] => Array ( [0] => 390 [1] => -> [2] => 11 ) [37] => Array ( [0] => 313 [1] => useStatements [2] => 11 ) [38] => ) [39] => Array ( [0] => 397 [1] => [2] => 11 ) [40] => Array ( [0] => 286 [1] => && [2] => 11 ) [41] => Array ( [0] => 397 [1] => [2] => 11 ) [42] => Array ( [0] => 313 [1] => in_array [2] => 11 ) [43] => ( [44] => Array ( [0] => 317 [1] => $class [2] => 11 ) [45] => , [46] => Array ( [0] => 397 [1] => [2] => 11 ) [47] => Array ( [0] => 317 [1] => $this [2] => 11 ) [48] => Array ( [0] => 390 [1] => -> [2] => 11 ) [49] => Array ( [0] => 313 [1] => getTable [2] => 11 ) [50] => ( [51] => ) [52] => Array ( [0] => 390 [1] => -> [2] => 11 ) [53] => Array ( [0] => 313 [1] => useStatements [2] => 11 ) [54] => ) [55] => ) [56] => Array ( [0] => 397 [1] => [2] => 11 ) [57] => { [58] => Array ( [0] => 397 [1] => [2] => 11 ) [59] => Array ( [0] => 350 [1] => return [2] => 12 ) [60] => ; [61] => Array ( [0] => 397 [1] => [2] => 12 ) [62] => } [63] => Array ( [0] => 397 [1] => [2] => 13 ) [64] => Array ( [0] => 326 [1] => if [2] => 15 ) [65] => Array ( [0] => 397 [1] => [2] => 15 ) [66] => ( [67] => Array ( [0] => 317 [1] => $alias [2] => 15 ) [68] => ) [69] => Array ( [0] => 397 [1] => [2] => 15 ) [70] => { [71] => Array ( [0] => 397 [1] => [2] => 16 ) [72] => Array ( [0] => 317 [1] => $script [2] => 17 ) [73] => Array ( [0] => 397 [1] => [2] => 17 ) [74] => = [75] => Array ( [0] => 397 [1] => [2] => 17 ) [76] => " [77] => Array ( [0] => 319 [1] => use [2] => 17 ) [78] => Array ( [0] => 317 [1] => $class [2] => 17 ) [79] => Array ( [0] => 319 [1] => as [2] => 17 ) [80] => Array ( [0] => 317 [1] => $alias [2] => 17 ) [81] => Array ( [0] => 319 [1] => ;\n [2] => 17 ) [82] => Array ( [0] => 317 [1] => $script [2] => 17 ) [83] => " [84] => ; [85] => Array ( [0] => 397 [1] => [2] => 17 ) [86] => } [87] => Array ( [0] => 397 [1] => [2] => 18 ) [88] => Array ( [0] => 310 [1] => else [2] => 19 ) [89] => Array ( [0] => 397 [1] => [2] => 19 ) [90] => { [91] => Array ( [0] => 397 [1] => [2] => 20 ) [92] => Array ( [0] => 317 [1] => $script [2] => 21 ) [93] => Array ( [0] => 397 [1] => [2] => 21 ) [94] => = [95] => Array ( [0] => 397 [1] => [2] => 21 ) [96] => " [97] => Array ( [0] => 319 [1] => use [2] => 21 ) [98] => Array ( [0] => 317 [1] => $class [2] => 21 ) [99] => Array ( [0] => 319 [1] => ;\n [2] => 21 ) [100] => Array ( [0] => 317 [1] => $script [2] => 21 ) [101] => " [102] => ; [103] => Array ( [0] => 397 [1] => [2] => 21 ) [104] => } [105] => Array ( [0] => 397 [1] => [2] => 22 ) [106] => Array ( [0] => 326 [1] => if [2] => 24 ) [107] => Array ( [0] => 397 [1] => [2] => 24 ) [108] => ( [109] => ! [110] => Array ( [0] => 366 [1] => isset [2] => 24 ) [111] => ( [112] => Array ( [0] => 317 [1] => $this [2] => 24 ) [113] => Array ( [0] => 390 [1] => -> [2] => 24 ) [114] => Array ( [0] => 313 [1] => getTable [2] => 24 ) [115] => ( [116] => ) [117] => Array ( [0] => 390 [1] => -> [2] => 24 ) [118] => Array ( [0] => 313 [1] => useStatements [2] => 24 ) [119] => ) [120] => ) [121] => Array ( [0] => 397 [1] => [2] => 24 ) [122] => { [123] => Array ( [0] => 397 [1] => [2] => 24 ) [124] => Array ( [0] => 317 [1] => $this [2] => 25 ) [125] => Array ( [0] => 390 [1] => -> [2] => 25 ) [126] => Array ( [0] => 313 [1] => getTable [2] => 25 ) [127] => ( [128] => ) [129] => Array ( [0] => 390 [1] => -> [2] => 25 ) [130] => Array ( [0] => 313 [1] => useStatements [2] => 25 ) [131] => Array ( [0] => 397 [1] => [2] => 25 ) [132] => = [133] => Array ( [0] => 397 [1] => [2] => 25 ) [134] => Array ( [0] => 377 [1] => array [2] => 25 ) [135] => ( [136] => ) [137] => ; [138] => Array ( [0] => 397 [1] => [2] => 25 ) [139] => } [140] => Array ( [0] => 397 [1] => [2] => 26 ) [141] => Array ( [0] => 317 [1] => $this [2] => 27 ) [142] => Array ( [0] => 390 [1] => -> [2] => 27 ) [143] => Array ( [0] => 313 [1] => getTable [2] => 27 ) [144] => ( [145] => ) [146] => Array ( [0] => 390 [1] => -> [2] => 27 ) [147] => Array ( [0] => 313 [1] => useStatements [2] => 27 ) [148] => [ [149] => ] [150] => Array ( [0] => 397 [1] => [2] => 27 ) [151] => = [152] => Array ( [0] => 397 [1] => [2] => 27 ) [153] => Array ( [0] => 317 [1] => $class [2] => 27 ) [154] => ; [155] => Array ( [0] => 397 [1] => [2] => 27 ) [156] => } [157] => Array ( [0] => 397 [1] => [2] => 28 ) )
Output for rfc.property-hooks
Array ( [0] => Array ( [0] => 396 [1] => <?php [2] => 1 ) [1] => Array ( [0] => 399 [1] => [2] => 2 ) [2] => Array ( [0] => 395 [1] => /** * * @param string $script The PHP script * @param string $class The full qualified class name with namespace * @param string $alias An optional alias for the class */ [2] => 3 ) [3] => Array ( [0] => 399 [1] => [2] => 8 ) [4] => Array ( [0] => 362 [1] => protected [2] => 9 ) [5] => Array ( [0] => 399 [1] => [2] => 9 ) [6] => Array ( [0] => 348 [1] => function [2] => 9 ) [7] => Array ( [0] => 399 [1] => [2] => 9 ) [8] => Array ( [0] => 313 [1] => addUseStatement [2] => 9 ) [9] => ( [10] => Array ( [0] => 288 [1] => & [2] => 9 ) [11] => Array ( [0] => 317 [1] => $script [2] => 9 ) [12] => , [13] => Array ( [0] => 399 [1] => [2] => 9 ) [14] => Array ( [0] => 317 [1] => $class [2] => 9 ) [15] => , [16] => Array ( [0] => 399 [1] => [2] => 9 ) [17] => Array ( [0] => 317 [1] => $alias [2] => 9 ) [18] => Array ( [0] => 399 [1] => [2] => 9 ) [19] => = [20] => Array ( [0] => 399 [1] => [2] => 9 ) [21] => Array ( [0] => 313 [1] => null [2] => 9 ) [22] => ) [23] => Array ( [0] => 399 [1] => [2] => 9 ) [24] => { [25] => Array ( [0] => 399 [1] => [2] => 10 ) [26] => Array ( [0] => 327 [1] => if [2] => 11 ) [27] => Array ( [0] => 399 [1] => [2] => 11 ) [28] => ( [29] => Array ( [0] => 367 [1] => isset [2] => 11 ) [30] => ( [31] => Array ( [0] => 317 [1] => $this [2] => 11 ) [32] => Array ( [0] => 392 [1] => -> [2] => 11 ) [33] => Array ( [0] => 313 [1] => getTable [2] => 11 ) [34] => ( [35] => ) [36] => Array ( [0] => 392 [1] => -> [2] => 11 ) [37] => Array ( [0] => 313 [1] => useStatements [2] => 11 ) [38] => ) [39] => Array ( [0] => 399 [1] => [2] => 11 ) [40] => Array ( [0] => 286 [1] => && [2] => 11 ) [41] => Array ( [0] => 399 [1] => [2] => 11 ) [42] => Array ( [0] => 313 [1] => in_array [2] => 11 ) [43] => ( [44] => Array ( [0] => 317 [1] => $class [2] => 11 ) [45] => , [46] => Array ( [0] => 399 [1] => [2] => 11 ) [47] => Array ( [0] => 317 [1] => $this [2] => 11 ) [48] => Array ( [0] => 392 [1] => -> [2] => 11 ) [49] => Array ( [0] => 313 [1] => getTable [2] => 11 ) [50] => ( [51] => ) [52] => Array ( [0] => 392 [1] => -> [2] => 11 ) [53] => Array ( [0] => 313 [1] => useStatements [2] => 11 ) [54] => ) [55] => ) [56] => Array ( [0] => 399 [1] => [2] => 11 ) [57] => { [58] => Array ( [0] => 399 [1] => [2] => 11 ) [59] => Array ( [0] => 351 [1] => return [2] => 12 ) [60] => ; [61] => Array ( [0] => 399 [1] => [2] => 12 ) [62] => } [63] => Array ( [0] => 399 [1] => [2] => 13 ) [64] => Array ( [0] => 327 [1] => if [2] => 15 ) [65] => Array ( [0] => 399 [1] => [2] => 15 ) [66] => ( [67] => Array ( [0] => 317 [1] => $alias [2] => 15 ) [68] => ) [69] => Array ( [0] => 399 [1] => [2] => 15 ) [70] => { [71] => Array ( [0] => 399 [1] => [2] => 16 ) [72] => Array ( [0] => 317 [1] => $script [2] => 17 ) [73] => Array ( [0] => 399 [1] => [2] => 17 ) [74] => = [75] => Array ( [0] => 399 [1] => [2] => 17 ) [76] => " [77] => Array ( [0] => 319 [1] => use [2] => 17 ) [78] => Array ( [0] => 317 [1] => $class [2] => 17 ) [79] => Array ( [0] => 319 [1] => as [2] => 17 ) [80] => Array ( [0] => 317 [1] => $alias [2] => 17 ) [81] => Array ( [0] => 319 [1] => ;\n [2] => 17 ) [82] => Array ( [0] => 317 [1] => $script [2] => 17 ) [83] => " [84] => ; [85] => Array ( [0] => 399 [1] => [2] => 17 ) [86] => } [87] => Array ( [0] => 399 [1] => [2] => 18 ) [88] => Array ( [0] => 310 [1] => else [2] => 19 ) [89] => Array ( [0] => 399 [1] => [2] => 19 ) [90] => { [91] => Array ( [0] => 399 [1] => [2] => 20 ) [92] => Array ( [0] => 317 [1] => $script [2] => 21 ) [93] => Array ( [0] => 399 [1] => [2] => 21 ) [94] => = [95] => Array ( [0] => 399 [1] => [2] => 21 ) [96] => " [97] => Array ( [0] => 319 [1] => use [2] => 21 ) [98] => Array ( [0] => 317 [1] => $class [2] => 21 ) [99] => Array ( [0] => 319 [1] => ;\n [2] => 21 ) [100] => Array ( [0] => 317 [1] => $script [2] => 21 ) [101] => " [102] => ; [103] => Array ( [0] => 399 [1] => [2] => 21 ) [104] => } [105] => Array ( [0] => 399 [1] => [2] => 22 ) [106] => Array ( [0] => 327 [1] => if [2] => 24 ) [107] => Array ( [0] => 399 [1] => [2] => 24 ) [108] => ( [109] => ! [110] => Array ( [0] => 367 [1] => isset [2] => 24 ) [111] => ( [112] => Array ( [0] => 317 [1] => $this [2] => 24 ) [113] => Array ( [0] => 392 [1] => -> [2] => 24 ) [114] => Array ( [0] => 313 [1] => getTable [2] => 24 ) [115] => ( [116] => ) [117] => Array ( [0] => 392 [1] => -> [2] => 24 ) [118] => Array ( [0] => 313 [1] => useStatements [2] => 24 ) [119] => ) [120] => ) [121] => Array ( [0] => 399 [1] => [2] => 24 ) [122] => { [123] => Array ( [0] => 399 [1] => [2] => 24 ) [124] => Array ( [0] => 317 [1] => $this [2] => 25 ) [125] => Array ( [0] => 392 [1] => -> [2] => 25 ) [126] => Array ( [0] => 313 [1] => getTable [2] => 25 ) [127] => ( [128] => ) [129] => Array ( [0] => 392 [1] => -> [2] => 25 ) [130] => Array ( [0] => 313 [1] => useStatements [2] => 25 ) [131] => Array ( [0] => 399 [1] => [2] => 25 ) [132] => = [133] => Array ( [0] => 399 [1] => [2] => 25 ) [134] => Array ( [0] => 378 [1] => array [2] => 25 ) [135] => ( [136] => ) [137] => ; [138] => Array ( [0] => 399 [1] => [2] => 25 ) [139] => } [140] => Array ( [0] => 399 [1] => [2] => 26 ) [141] => Array ( [0] => 317 [1] => $this [2] => 27 ) [142] => Array ( [0] => 392 [1] => -> [2] => 27 ) [143] => Array ( [0] => 313 [1] => getTable [2] => 27 ) [144] => ( [145] => ) [146] => Array ( [0] => 392 [1] => -> [2] => 27 ) [147] => Array ( [0] => 313 [1] => useStatements [2] => 27 ) [148] => [ [149] => ] [150] => Array ( [0] => 399 [1] => [2] => 27 ) [151] => = [152] => Array ( [0] => 399 [1] => [2] => 27 ) [153] => Array ( [0] => 317 [1] => $class [2] => 27 ) [154] => ; [155] => Array ( [0] => 399 [1] => [2] => 27 ) [156] => } [157] => Array ( [0] => 399 [1] => [2] => 28 ) )

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:
40.34 ms | 425 KiB | 8 Q