3v4l.org

run code in 300+ PHP versions simultaneously
<?php $php = "<?php class A { function a() { return A::class; } } "; var_dump(token_get_all($php));
Output for git.master, git.master_jit
array(27) { [0]=> array(3) { [0]=> int(394) [1]=> string(6) "<?php " [2]=> int(1) } [1]=> array(3) { [0]=> int(397) [1]=> string(4) " " [2]=> int(2) } [2]=> array(3) { [0]=> int(369) [1]=> string(5) "class" [2]=> int(2) } [3]=> array(3) { [0]=> int(397) [1]=> string(1) " " [2]=> int(2) } [4]=> array(3) { [0]=> int(313) [1]=> string(1) "A" [2]=> int(2) } [5]=> array(3) { [0]=> int(397) [1]=> string(5) " " [2]=> int(2) } [6]=> string(1) "{" [7]=> array(3) { [0]=> int(397) [1]=> string(9) " " [2]=> int(3) } [8]=> array(3) { [0]=> int(347) [1]=> string(8) "function" [2]=> int(4) } [9]=> array(3) { [0]=> int(397) [1]=> string(1) " " [2]=> int(4) } [10]=> array(3) { [0]=> int(313) [1]=> string(1) "a" [2]=> int(4) } [11]=> string(1) "(" [12]=> string(1) ")" [13]=> array(3) { [0]=> int(397) [1]=> string(1) " " [2]=> int(4) } [14]=> string(1) "{" [15]=> array(3) { [0]=> int(397) [1]=> string(13) " " [2]=> int(4) } [16]=> array(3) { [0]=> int(350) [1]=> string(6) "return" [2]=> int(5) } [17]=> array(3) { [0]=> int(397) [1]=> string(1) " " [2]=> int(5) } [18]=> array(3) { [0]=> int(313) [1]=> string(1) "A" [2]=> int(5) } [19]=> array(3) { [0]=> int(402) [1]=> string(2) "::" [2]=> int(5) } [20]=> array(3) { [0]=> int(369) [1]=> string(5) "class" [2]=> int(5) } [21]=> string(1) ";" [22]=> array(3) { [0]=> int(397) [1]=> string(9) " " [2]=> int(5) } [23]=> string(1) "}" [24]=> array(3) { [0]=> int(397) [1]=> string(5) " " [2]=> int(6) } [25]=> string(1) "}" [26]=> array(3) { [0]=> int(397) [1]=> string(1) " " [2]=> int(7) } }
Output for rfc.property-hooks
array(27) { [0]=> array(3) { [0]=> int(396) [1]=> string(6) "<?php " [2]=> int(1) } [1]=> array(3) { [0]=> int(399) [1]=> string(4) " " [2]=> int(2) } [2]=> array(3) { [0]=> int(370) [1]=> string(5) "class" [2]=> int(2) } [3]=> array(3) { [0]=> int(399) [1]=> string(1) " " [2]=> int(2) } [4]=> array(3) { [0]=> int(313) [1]=> string(1) "A" [2]=> int(2) } [5]=> array(3) { [0]=> int(399) [1]=> string(5) " " [2]=> int(2) } [6]=> string(1) "{" [7]=> array(3) { [0]=> int(399) [1]=> string(9) " " [2]=> int(3) } [8]=> array(3) { [0]=> int(348) [1]=> string(8) "function" [2]=> int(4) } [9]=> array(3) { [0]=> int(399) [1]=> string(1) " " [2]=> int(4) } [10]=> array(3) { [0]=> int(313) [1]=> string(1) "a" [2]=> int(4) } [11]=> string(1) "(" [12]=> string(1) ")" [13]=> array(3) { [0]=> int(399) [1]=> string(1) " " [2]=> int(4) } [14]=> string(1) "{" [15]=> array(3) { [0]=> int(399) [1]=> string(13) " " [2]=> int(4) } [16]=> array(3) { [0]=> int(351) [1]=> string(6) "return" [2]=> int(5) } [17]=> array(3) { [0]=> int(399) [1]=> string(1) " " [2]=> int(5) } [18]=> array(3) { [0]=> int(313) [1]=> string(1) "A" [2]=> int(5) } [19]=> array(3) { [0]=> int(404) [1]=> string(2) "::" [2]=> int(5) } [20]=> array(3) { [0]=> int(370) [1]=> string(5) "class" [2]=> int(5) } [21]=> string(1) ";" [22]=> array(3) { [0]=> int(399) [1]=> string(9) " " [2]=> int(5) } [23]=> string(1) "}" [24]=> array(3) { [0]=> int(399) [1]=> string(5) " " [2]=> int(6) } [25]=> string(1) "}" [26]=> array(3) { [0]=> int(399) [1]=> string(1) " " [2]=> int(7) } }

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:
59.29 ms | 409 KiB | 8 Q