get_defined_vars

関数の概要

PHPの get_defined_vars 関数は、現在のスコープ内で定義されているすべての変数を配列として取得します。これにより、関数やスクリプト内でどの変数がどの値を持っているかを簡単に把握でき、デバッグや動的な処理に役立ちます。

パラメータの説明

  • パラメータなしget_defined_vars は引数を受け取りません。

戻り値

連想配列として、現在スコープ内のすべての変数名をキーに、その値を格納した配列を返します。グローバル変数の場合は、$GLOBALS 配列が含まれます。

使用例

基本的な使い方

<?php
$name = "太郎";
$age = 25;

$vars = get_defined_vars();
print_r($vars);
?>

この例では、$name$age が定義済み変数として取得され、それぞれの名前と値が表示されます。

関数内での変数取得

<?php
function sampleFunc() {
    $x = 10;
    $y = 20;
    $vars = get_defined_vars();
    return $vars;
}

print_r(sampleFunc());
?>

関数内で定義された変数のみが取得されます。関数外の変数は含まれません。

デバッグ時にすべての変数を確認

<?php
$user = "山田";
$status = "active";

echo "<pre>";
print_r(get_defined_vars());
echo "</pre>";
?>

実際のスクリプトで現在使われている変数を一目で確認したい場合に便利です。

関連する関数

  • get_defined_functions – 定義されている関数一覧を取得
  • get_defined_constants – 定義されている定数一覧を取得
  • extract – 配列のキーを変数名として展開

まとめ

get_defined_vars は、現在のスコープにあるすべての変数を配列形式で手軽に取得できる便利な関数です。特にデバッグや動的な変数処理に役立ち、関数内外の変数状態を把握するのに有効です。パラメータは不要で、戻り値も理解しやすいため初心者から実務者まで幅広く活用できます。