web-dev-qa-db-ja.com

すべてのPHP=変数をリスト

PHPスクリプトですべてのグローバル変数をダンプすることは可能ですか?これが私のコードだとしましょう:

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

また、PHPスクリプトで定義済みのすべての定数をダンプすることは可能ですか?.

47
Salman A

つかいます - get_defined_vars および/または get_defined_constants

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

WinMerge (フリーウェア)などのプログラムを使用して違いを見つけようとしてデバッグするときに、さまざまな配列と変数の違いを確認するには、ksort()を使用します。偽陰性。また、HTML pre要素を使用して視覚的にフォーマットするのに役立ちます...

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

?>
_

編集:これに戻って、より良い答えがあることに気づかなければなりませんでした、_$GLOBALS_。

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

編集2:mpagが言及したように、print_r()は、使用しているソフトウェアが多く使用している場合、メモリ不足になる可能性があります。出力がないか、明確に切り捨てられていると仮定するとand_php.ini_ファイルにアクセスできます メモリを調整 =そのまま使用:

_ini_set('memory_limit', '1024M');
_
11
John