web-dev-qa-db-fra.com

Liste toutes les variables PHP

Est-il possible de vider toutes les variables globales dans un script PHP? Dites que c'est mon code:

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

Il est également possible de vider toutes les constantes définies dans un script PHP.

47
Salman A

Utilisation get_defined_vars et/ou get_defined_constants

$arr = get_defined_vars();
print_r($arr);
86
nico

Lorsque vous déboguez en essayant de trouver des différences à l'aide d'un programme tel que WinMerge (freeware) pour voir quelles différences ont différents tableaux et variables, vous voudrez ksort() sinon vous obtiendrez beaucoup de faux négatifs. Il permet également de formater visuellement à l'aide de l'élément HTML pre ...

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

?>

Edit: a dû y revenir et a réalisé que j'avais une meilleure réponse, $GLOBALS.

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

Edit 2: comme mpag l'a mentionné print_r() peut être à court de mémoire si le logiciel avec lequel vous travaillez utilise beaucoup. En supposant qu'il n'y a pas de sortie ou qu'elle est clairement tronquée et vous avez accès au fichier php.ini Que vous pouvez ajuster la mémoire utiliser ainsi:

ini_set('memory_limit', '1024M');
11
John