Как вывеси список всех определенных ранее переменных файла php?

Как вывеси список переменных файла php? Вывести на экран список всех определенных ранее переменных, get_defined_vars(),

Как вывеси список переменных файла php?

» » Сообщение:

Как вывеси список переменных файла php? Вывести на экран список всех определенных ранее переменных

Когда приходится разбираться в чужом коде, да и в своем тоже, очень полезным бывает узнать список всех переменных, уже определенных до момента отработки текущего скрипта, включая подключенный файлы.

Когда есть необхожимость проверить/посмотреть одну/две пользуются стандартным методом отладки, вставляя в тело скрипта записи примерно такого вида:

php Код: Выделить всё Развернуть
echo "1";
print "1";
print_r($array);
print_r($_POST); 

И тому подобные варианты отслеживания процесса выполнения php скрипта.

Все это хорошо, но представьте ситуацию, когда чужой код запутанно обрабатывает переменные, да еще и таким образом, что нельзя с уверенностью сказать в каком месте появилась/удалилась переменная и какое имя ей присвоено.

Вот тогда-то и полезно узнать весь список переменных PHP, определенных ранее, и вывести его для ознакомления.

Как вывести список всех определенных переменных

Сделать это можно с помощью функции get_defined_vars(), например таким образом:

php Код: Выделить всё Развернуть
<?php
echo “
<pre>” ;
print_r(get_defined_vars());
echo “</pre>;
?>

Функция get_defined_vars(), вернет многомерный массив, содержащий список всех определенных пользовательских и серверных переменных, в той области видимости, в которой была вызвана.


Как вывести список названий доступных переменных

Для того чтобы получить лишь список названий доступных переменных, можно использовать такую конструкцию:

php Код: Выделить всё Развернуть
<?php
echo 
"<pre>";
print_r(array_keys(get_defined_vars()));
echo "</pre>";
?>

Очень удобно, знать имена и значения только тех переменных, которые доступны именно в месте вывода.


Вывод глобального массива $GLOBALS

Кроме get_defined_vars(), может пригодиться вывод глобального массива $GLOBALS для получения данных о данных содержащихся в массивах $_POST, $_GET, $_COOKIE, $_FILES, $_SESSION, $_SERVER, $_ENV .
Делается это вот так:

php Код: Выделить всё Развернуть
<?php
echo 
"<pre>" ;
print_r($GLOBALS);
echo "</pre>";
?>

Используя данные конструкции можно существенно ускорить работу, не тратя кучу времени на отслеживание переменных.
..




Похожие темыКомментарии ПросмотрыПоследнее сообщение
0389HTML теги. Полный список тегов HTML
Сообщение от: Admin
0368Google боты. Список популярных Goog...
Сообщение от: Admin
02102Операторы шаблонов и системные коды...
Сообщение от: Admin
05963Основные значения User Agent клиент...
Сообщение от: Admin
01200Яндекс боты. Список популярных Yand...
Сообщение от: Admin