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() 函數從數組中將變量導入到當前的符號表。
該函數使用數組鍵名作為變量名,使用數組鍵值作為變量值。針對數組中的每個元素,將在當前符號表中創建對應的一個變量。
第二個參數 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"; ?>