首頁 >後端開發 >php教程 >基於PHP的extract的用法詳解

基於PHP的extract的用法詳解

coldplay.xixi
coldplay.xixi轉載
2020-06-09 11:02:352345瀏覽

基於PHP的extract的用法詳解

extract

#函數從陣列中將變數匯入到目前的符號表。

此函數使用陣列鍵名作為變數名,使用陣列鍵值作為變數值。針對數組中的每個元素,將在目前符號表中建立對應的變數。

第二個參數 type 用來指定當某個變數已經存在,而陣列中又有同名元素時,extract() 函數如何處理這樣的衝突。

此函數傳回成功匯入符號表中的變數數目。

語法

extract(array,extract_rules,prefix)

array

必要。規定要使用的數組。

extract_rules

可選。 extract() 函數將檢查每個鍵名是否為合法的變數名,同時也檢查和符號表中已存在的變數名稱是否衝突。對不合法和衝突的鍵名的處理將根據此參數決定。

可能的值:

EXTR_OVERWRITE - 預設。如果有衝突,則覆蓋已有的變數。

EXTR_SKIP - 如果有衝突,不覆寫已有的變數。

EXTR_PREFIX_SAME - 若有衝突,在變數名稱前加上前綴 prefix。

EXTR_PREFIX_ALL - 為所有變數名稱加上前綴 prefix。

EXTR_PREFIX_INVALID - 僅在不合法或數字變數名稱前加上前綴 prefix。

EXTR_IF_EXISTS - 僅在目前符號表中已有同名變數時,覆寫它們的值。其它的都不處理。

EXTR_PREFIX_IF_EXISTS - 僅在目前符號表中已有同名變數時,建立附加了前綴的變數名,其它的都不處理。

EXTR_REFS - 將變數作為引用提取。導入的變數仍然引用了數組參數的值。

prefix

可選。請注意 prefix 僅在 extract_type 的值是 EXTR_PREFIX_SAME,EXTR_PREFIX_ALL,EXTR_PREFIX_INVALID 或 EXTR_PREFIX_IF_EXISTS 時需要。如果附加了前綴後的結果不是合法的變數名,則不會匯入符號表。

前綴和陣列鍵名之間會自動加上一個底線。

範例一,原來陣列的值不變,並且給變數$a,$b,$c,$d,$e賦了值

$arr=array('a'=>1,'b'=>2,'c'=>3,'d'=>5,'e'=>6);
extract($arr); 
print_r($arr);
print_r($a);
print_r($b);
print_r($c);
print_r($d);
print_r($e);

輸出

Array
(
    [a] => 1
    [b] => 2
    [c] => 3
    [d] => 5
    [e] => 6
)
1
2
3
5
6

推薦教學:《PHP影片教學

以上是基於PHP的extract的用法詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:liqingbo.cn。如有侵權,請聯絡admin@php.cn刪除