🐘
PHPで「それまでに宣言されている変数」をすべて表示する方法
get_defined_vars()関数の利用
PHPでは、現在のスコープで宣言されているすべての変数を配列として取得できる標準関数 get_defined_vars()
が用意されています。この関数を使うことで、スクリプト中の「その時点で有効な変数」を一覧で確認できます。
使い方例
echo '';
print_r(get_defined_vars());
echo '';
または
var_dump(get_defined_vars());
このように記述すると、get_defined_vars()
を呼び出した場所で参照できるすべての変数が配列で表示されます。
スコープについての注意点
- 返される変数は「get_defined_vars() を呼び出したスコープ内で参照できるもの」に限られます。
- グローバルスコープで呼び出せばグローバル変数、関数内で呼び出せばその関数内のローカル変数が取得されます。
画面への見やすい表示例
echo '<pre style="font-size:12px;line-height:1.2;border:solid 1px #aaa;padding:10px;margin:20px 0;">';
echo htmlspecialchars(print_r(get_defined_vars(), true), ENT_QUOTES);
echo '</pre>';
このようにすれば、HTML上でも見やすく整形して確認できます。
まとめ
- その時点で宣言されているすべての変数を表示したい場合は
get_defined_vars()
を使う。 - スコープに注意し、必要ならHTML整形やvar_dump/print_rで出力する。
開発やデバッグ時に非常に便利なテクニックです。
Discussion