最新的Web開發教程
 

PHP extract() Function

<PHP陣列參考

分配值"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()函數變量導入到局部符號表由陣列。

此函數使用數組鍵作為變量名和值作為變量值。 對於每個元件會造成在當前的符號表的變量。

該函數返回的成功提取的變量數目。


句法

extract( array,extract_rules,prefix )

參數 描述
array 需要。 指定要使用的數組
extract_rules 可選的。 的extract()函數檢查無效的變量名和碰撞與現有的變量名。 該參數指定無效,碰撞名的方式處理。

可能的值:

  • EXTR_OVERWRITE - 默認。 在碰撞中,存在的變量被覆蓋
  • EXTR_SKIP - 衝突,現有的變量不會被覆蓋
  • EXTR_PREFIX_SAME - 有衝突,在變量名會給出一個前綴
  • EXTR_PREFIX_ALL - 所有的變量都將被賦予一個前綴
  • EXTR_PREFIX_INVALID - 僅無效或數字的變量名會給出一個前綴
  • EXTR_IF_EXISTS - 僅覆蓋現有的變量在當前的符號表,否則什麼都不做
  • EXTR_PREFIX_IF_EXISTS - 如果在當前符號表中存在相同的變量,只有添加前綴變量
  • EXTR_REFS - 提取變量的引用。 導入的變量仍然引用數組參數的值
prefix 可選的。 如果EXTR_PREFIX_SAME,EXTR_PREFIX_ALL,EXTR_PREFIX_INVALID或EXTR_PREFIX_IF_EXISTS在extract_rules參數被使用,需要指定的前綴。

此參數指定的前綴。 前綴自動地從由一個下劃線字符數組鍵分離。

技術細節

返回值: 返回提取成功的變量數目
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";
?>
運行示例»

<PHP陣列參考