extract関数の使い方

extract関数の使い方 PHP言語リファレンス
extract関数の使い方
zucksadnetwork

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関数の書き方は、次のとおりです。

  1. 変数を作成するための連想配列を用意します。
  2. extract関数を呼び出します。

PHP

// 変数の作成
$array = array(
    "name" => "山田 太郎",
    "age" => 20,
);

// extract関数の呼び出し
extract($array);

このコードを実行すると、次のようになります。

PHP

$name = "山田 太郎";
$age = 20;

extract関数の使い方の作成・使用方法

extract関数は、次の2つの方法で使用できます。

  • echoprint などの出力関数で出力する
  • 変数に格納して、後で使用する

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関数を活用してください。

PHP言語リファレンス制御構造
PHPプログラミング図鑑をフォローする
PHPプログラミング図鑑