PHP extract() 函數(shù)

2018-12-06 11:15 更新

PHP extract() 函數(shù)

PHP Array Reference完整的 PHP Array 參考手冊

實例

將鍵值 "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() 函數(shù)從數(shù)組中將變量導(dǎo)入到當(dāng)前的符號表。

該函數(shù)使用數(shù)組鍵名作為變量名,使用數(shù)組鍵值作為變量值。針對數(shù)組中的每個元素,將在當(dāng)前符號表中創(chuàng)建對應(yīng)的一個變量。

該函數(shù)返回成功設(shè)置的變量數(shù)目。


語法

extract(array,extract_rules,prefix)

參數(shù) 描述
array 必需。規(guī)定要使用的數(shù)組。
extract_rules 可選。extract() 函數(shù)將檢查每個鍵名是否為合法的變量名,同時也檢查和符號表中已存在的變量名是否沖突。對不合法和沖突的鍵名的處理將根據(jù)此參數(shù)決定。

可能的值:

  • EXTR_OVERWRITE - 默認(rèn)。如果有沖突,則覆蓋已有的變量。
  • EXTR_SKIP - 如果有沖突,不覆蓋已有的變量。
  • EXTR_PREFIX_SAME - 如果有沖突,在變量名前加上前綴 prefix。
  • EXTR_PREFIX_ALL - 給所有變量名加上前綴 prefix。
  • EXTR_PREFIX_INVALID - 僅在不合法或數(shù)字變量名前加上前綴 prefix。
  • EXTR_IF_EXISTS - 僅在當(dāng)前符號表中已有同名變量時,覆蓋它們的值。其它的都不處理。
  • EXTR_PREFIX_IF_EXISTS - 僅在當(dāng)前符號表中已有同名變量時,建立附加了前綴的變量名,其它的都不處理。
  • EXTR_REFS - 將變量作為引用提取。導(dǎo)入的變量仍然引用了數(shù)組參數(shù)的值。
prefix 可選。如果 extract_rules 參數(shù)的值是 EXTR_PREFIX_SAME、EXTR_PREFIX_ALL、 EXTR_PREFIX_INVALID 或 EXTR_PREFIX_IF_EXISTS,則 prefix 是必需的。

該參數(shù)規(guī)定了前綴。前綴和數(shù)組鍵名之間會自動加上一個下劃線。

技術(shù)細(xì)節(jié)

返回值: 返回成功設(shè)置的變量數(shù)目。
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 起,該函數(shù)返回成功設(shè)置的變量數(shù)目。

extract_rules 的值 EXTR_PREFIX_INVALID 是在 PHP 4.0.5 中新增的。

自 PHP 4.0.5 起,extract_rules 的值 EXTR_PREFIX_ALL 也包含數(shù)字變量。


更多實例

實例 1

使用所有的參數(shù):

<?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 Array Reference完整的 PHP Array 參考手冊
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號