SYNCERのロゴ
アイキャッチ画像

extract - 配列から変数を作成する

extractは、指定した配列から変数を作成する関数です。連想配列のキーが変数名、値が値としてシンボルテーブルにインポートされます。

構文

int extract ( array &$array [, int $flags = EXTR_OVERWRITE [, string $prefix = NULL ]] )

パラメータ

&$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 ) ;
int(2)
string(3) "AAA"
string(3) "BBB"
  • Twitterでシェア
  • Facebookでシェア
  • Google+でシェア
  • はてなブックマークでシェア
  • pocketに保存
  • LINEでシェア
更新履歴
2017年6月25日 (日)
コンテンツを公開しました。