Jak uzyskać wszystkie zmienne zdefiniowane w bieżącej tabeli zakresu / symboli?

Czy istnieje funkcja i/lub obiekt i / lub rozszerzenie w PHP, które pozwolą Ci wyświetlić wszystkie zmienne zdefiniowane w bieżącym zakresie? Coś w stylu:

var_export($GLOBALS)

Ale tylko Pokazywanie zmiennych w bieżącej tabeli symboli.

Author: kenorb, 2009-04-05

2 answers

get_defined_vars

Funkcja ta zwraca wielowymiarową tablicę zawierającą listę wszystkich zdefiniowanych zmiennych, takich jak zmienne środowiskowe, serwerowe lub zdefiniowane przez użytkownika, w zakresie, który get_defined_vars() nazywa się.

 61
Author: troelskn,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-04-04 21:39:43

Get_defined_vars () robi dokładnie to, co chcesz.

Funkcja ta zwraca wielowymiarową tablicę zawierającą listę wszystkich zdefiniowanych zmiennych, takich jak zmienne środowiskowe, serwerowe lub zdefiniowane przez użytkownika, w zakresie, w jakim jest wywoływana metoda get_defined_vars().

>>> function test($foo) { print_r(get_defined_vars()); }
>>> test('bar');
Array
(
    [foo] => bar
)
 22
Author: Jeremy Ruten,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-04-04 21:39:53