extract - 配列から変数を作成する
extractは、指定した配列から変数を作成する関数です。連想配列のキーが変数名、値が値としてシンボルテーブルにインポートされます。
構文
パラメータ
&$array
対象の配列。
$flags
既に同名の変数があったり、数値キーを変数にしようとした時の挙動を調整できます。デフォルトでは、既に同名の変数があった場合は上書きします。
- EXTR_OVERWRITE
- 初期値。衝突があった場合、上書きをする。
- EXTR_SKIP
- 衝突があった場合、上書きをしない。
- EXTR_PREFIX_SAME
- 衝突があった場合、prefixを付けた新しい変数を作る。
- EXTR_PREFIX_ALL
- 衝突に関わらず、全て、prefixを付けた新しい変数を作る。
- EXTR_PREFIX_INVALID
- 数値など、無効な変数名の場合にのみprefixを付ける。
- EXTR_IF_EXISTS
- 既にシンボルテーブルに存在する変数を上書きするだけで、新しい変数は作成しない。
- EXTR_PREFIX_IF_EXISTS
- 既にシンボルテーブルに変数が存在する場合のみ、prefixを付けた新しい変数を作る。
- EXTR_REFS
- 変数を参照として展開する。
$prefix
第2引数の指定で、同名の変数があった時にprefixを付けた別名の変数にする時の、prefix名。
返り値
int
処理の結果、新しく登録された変数の数を数値で返す。
サンプルコード
<?php
$array = [
"a" => "AAA" ,
"b" => "BBB" ,
] ;
$response = extract( $array ) ;
デモ
配列から変数を作成できます。ある連想配列に実行した例です。"a"と"b"、それぞれのキーが名前となった変数が新しく作成されました。2つの変数が作成されたため、返り値は2となります。
<?php
/*** このコードは編集できます。 ***/
$array = [
"a" => "AAA" ,
"b" => "BBB" ,
] ;
$response = extract( $array ) ;
var_dump( $response ) ;
var_dump( $a ) ;
var_dump( $b ) ;
参考
- PHP: extract
- PHPの公式リファレンス。
関連記事
- compact
- 変数から配列を作成する。
- parse_str
- クエリ文字列を変数に代入する。
- array_merge
- 配列をマージする 。