int extract ( array var_array [, int extract_type [, string prefix]] )
EXTR_OVERWRITE
衝突があった場合、存在する変数が上書きされます。
EXTR_SKIP
衝突があった場合、存在する変数は上書きされません。
EXTR_PREFIX_SAME
衝突があった場合、prefix を前につけた 新しい変数となります。
EXTR_PREFIX_ALL
全ての変数の前に prefix を付けます。PHP 4.0.5 以降、接頭辞を数値とすることも可能です。
EXTR_PREFIX_INVALID
無効または数値の変数名のみに接頭辞 prefix を付ける。このフラグは、PHP 4.0.5 で追加されました。
EXTR_IF_EXISTS
カレントのシンボルテーブルに既に存在する場合にのみ上書きします。 例えば $_REQUEST 以外にあなたが定義した変数のみを展開し
有効な変数としたいような場合に有用です。このフラグは PHP 4.2.0 で追加されました。
EXTR_PREFIX_IF_EXISTS
同じ変数だが接頭辞をつけていないバージョンの変数が カレントのシンボルテーブルに存在する場合にのみ 変数を生成します。このフラグは PHP 4.2.0
で追加されました。
EXTR_REFS
変 数を参照として展開します。 これはインポート済みの変数が、 var_array パラメータの値に常に参照付けられることを意味します。
このフラグを単独で使用するか、 あるいはextract_typeと和算することにより、 他のフラグとそれを組み合わせることができます。 このフラグは PHP
4.3.0 で追加されました。
<?php
/* $var_array はwddx_deserializeから返された配列と仮定します
*/
$size = "large";
$var_array = array("color" => "blue",
"size" => "medium",
"shape" => "sphere");
extract($var_array, EXTR_PREFIX_SAME, "wddx");
echo "$color, $size, $shape, $wddx_size\n";
?>