PHP extract() 関数
例
キー値 "Cat"、"Dog"、および "Horse" を変数 $a、$b、および $c に割り当てます:
<?php $a = "Original"; $my_array = array("a" => "Cat","b" => "Dog", "c" => "Horse"); extract($my_array); echo "\$a = $a; \$b = $b; \$c = $c"; ?>
定義と使用方法
extract() 関数は配列から変数を現在のシンボルテーブルにインポートします。
この関数は、配列のキー名を変数名として、配列のキー値を変数値として使用します。配列の各要素に対して、現在のシンボルテーブルに対応する変数を作成します。
第2引数 type ある変数が既存している場合、配列に同名の要素がある場合、extract() 関数がその衝突に対してどのように対応するかを指定します。
この関数は、シンボルテーブルに成功してインポートされた変数の数を返します。
文法
extract(array,extract_rules,prefix)
パラメータ | 説明 |
---|---|
array | 必須です。使用する配列を指定します。 |
extract_rules |
選択可能です。extract() 関数は、各キー名が合法な変数名であるかどうかを確認し、シンボルテーブルで既存の変数名と衝突するかどうかも確認します。不適切または衝突するキー名の処理は、このパラメータに基づいて決定されます。 可能な値:
|
prefix |
選択可能です。ご注意ください prefix のみ extract_type の値が EXTR_PREFIX_SAME、EXTR_PREFIX_ALL、EXTR_PREFIX_INVALID または EXTR_PREFIX_IF_EXISTS である場合に必要です。接頭辞を追加した結果が合法な変数名でない場合、シンボルテーブルにインポートされません。 接頭辞と配列のキー名の間に自動的に下線が追加されます。 |
技術的な詳細
返り値: | シンボルテーブルに成功してインポートされた変数の数を返します。 |
PHP バージョン: | 4+ |
更新ログ: |
extract_rules の値 EXTR_REFS は PHP 4.3 で追加されました。 extract_rules の値 EXTR_IF_EXISTS および EXTR_PREFIX_IF_EXISTS は PHP 4.2 で追加されました。 PHP 4.0.5 から、この関数はシンボルテーブルに成功してインポートされた変数の数を返します。 extract_rules の値 EXTR_PREFIX_INVALID は PHP 4.0.5 で追加されました。 PHP 4.0.5 からextract_rules の値 EXTR_PREFIX_ALL には数字変数も含まれます。 |
さらに多くの例
例 1
すべてのパラメータを使用する:
<?php $a = "Original"; $my_array = array("a" => "Cat", "b" => "Dog", "c" => "Horse"); extract($my_array, EXTR_PREFIX_SAME, "dup"); echo "\$a = $a; \$b = $b; \$c = $c; \$dup_a = $dup_a"; ?>