- array_column: documentation ( source)
- token_get_all: documentation ( source)
- print_r: documentation ( source)
- array_filter: documentation ( source)
<?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)'));