3v4l.org

run code in 300+ PHP versions simultaneously
<?php function get_variables($code) { // get all the tokens $tokens = token_get_all("<?php $code ?>"); // filter out non-variables $tokens = array_filter($tokens, function ($t) { return $t[0] == T_VARIABLE; }); // return the variable names return array_column($tokens, 1); } print_r(get_variables('$isTrue ? $a : $b')); print_r(get_variables('$a=$b * ($c + 1)'));
Output for git.master, git.master_jit, rfc.property-hooks
Array ( [0] => $isTrue [1] => $a [2] => $b ) Array ( [0] => $a [1] => $b [2] => $c )

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:
46.82 ms | 401 KiB | 8 Q