Перечислите все переменные PHP - PullRequest
46 голосов
/ 24 февраля 2011

Возможно ли сбросить все глобальные переменные в скрипте PHP?Скажите, что это мой код:

<?php
$foo = 1;
$bar = "2";
include("blah.php");
dumpall();
// displays $foo, $bar and all variables created by blah.php

Кроме того, возможно ли сбросить все определенные константы в сценарии PHP.

Ответы [ 2 ]

85 голосов
/ 24 февраля 2011

Использование get_defined_vars и / или get_defined_constants

$arr = get_defined_vars();
print_r($arr);
11 голосов
/ 30 сентября 2014

При отладке пытаясь найти различия с помощью такой программы, как WinMerge (бесплатное программное обеспечение), чтобы увидеть, какие различия имеют различные массивы и переменные, которые вы захотите ksort(), иначе вы получите много ложных отрицаний,Это также помогает визуально форматировать, используя элемент HTML pre ...

<?php
$everything = get_defined_vars();
ksort($everything);

?>

Редактировать: пришлось вернуться к этому и понял, что у меня был лучший ответ, $GLOBALS.

<code>$a = print_r(var_dump($GLOBALS),1);
echo '<pre>';
echo htmlspecialchars($a);
echo '
';

Редактировать 2: как упоминалось в mpag print_r() может быть подвержен нехватке памяти, если программное обеспечение, с которым вы работаете, часто использует.Предполагая, что нет выходных данных или они явно обрезаны и , у вас есть доступ к файлу php.ini, который вы можете настроить для памяти использовать следующим образом:

ini_set('memory_limit', '1024M');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...