extract関数とは?
extract関数は、連想配列から変数を作成するための関数です。
extract関数の使い方の概要
extract関数の基本的な書式は、次のとおりです。
PHP
extract(array $array, int $flags = EXTR_OVERWRITE);
array $array
:変数を作成するための連想配列int $flags
:変数を作成するためのオプション
flags
には、次の値を指定できます。
EXTR_OVERWRITE
:既存の変数があれば上書きするEXTR_SKIP
:既存の変数があればスキップするEXTR_PREFIX_SAME
:既存の変数があれば、同じ名前でプレフィックスを付けて作成するEXTR_PREFIX_ALL
:既存の変数があれば、すべて同じ名前でプレフィックスを付けて作成する
extract関数の使い方の書き方
extract関数の書き方は、次のとおりです。
- 変数を作成するための連想配列を用意します。
- extract関数を呼び出します。
PHP
// 変数の作成
$array = array(
"name" => "山田 太郎",
"age" => 20,
);
// extract関数の呼び出し
extract($array);
このコードを実行すると、次のようになります。
PHP
$name = "山田 太郎";
$age = 20;
extract関数の使い方の作成・使用方法
extract関数は、次の2つの方法で使用できます。
echo
やprint
などの出力関数で出力する- 変数に格納して、後で使用する
PHP
// echo で出力する
$array = array(
"name" => "山田 太郎",
"age" => 20,
);
extract($array);
echo $name; // 山田 太郎
echo $age; // 20
// 変数に格納する
$array = array(
"name" => "山田 太郎",
"age" => 20,
);
extract($array);
$user = array("name" => $name, "age" => $age);
// $user を後で使用する
echo $user["name"]; // 山田 太郎
echo $user["age"]; // 20
extract関数の使い方のスクリプトサンプル
次のスクリプトは、extract関数を使用して、さまざまなデータの処理を行っています。
PHP
// 文字列の処理
$array = array(
"name" => "山田 太郎",
"age" => 20,
);
extract($array);
echo $name; // 山田 太郎
echo $age; // 20
// 数値の処理
$array = array(
"price" => 1234.5678,
);
extract($array);
echo $price; // 1,234.57
// 日付の処理
$array = array(
"date" => new DateTime(),
);
extract($array);
echo $date->format("Y年m月d日"); // 2024年01月02日
// 時刻の処理
$array = array(
"time" => new DateTime(),
);
extract($array);
echo $time->format("H時m分s秒"); // 16時45分00秒
このスクリプトを実行すると、次の出力になります。
山田 太郎
20
1,234.57
2024年01月02日
16時45分00秒
extract関数の使い方特有の事柄・注意点
- extract関数は、既存の変数に上書きする可能性があるため、注意が必要です。
- extract関数は、連想配列のキーが文字列以外の値の場合は、エラーになります。
extract関数の使い方のまとめ
extract関数は、連想配列から変数を作成するための便利な関数です。PHPの初心者でも使いやすいので、ぜひ覚えておきましょう。
extract関数を使用する際の注意点は、次のとおりです。
- extract関数は、既存の変数に上書きする可能性があるため、注意が必要です。
- extract関数は、連想配列のキーが文字列以外の値の場合は、エラーになります。
これらの注意点を踏まえて、extract関数を活用してください。