extract()函數是PHP中的內置函數。 extract()函數確實將數組轉換為變量。也就是說,它將數組鍵轉換為變量名,並將數組值轉換為變量值。換句話說,我們可以說extract()函數將變量從數組導入符號表。
用法:
int extract($input_array, $extract_rule, $prefix)
參數:extract()函數接受三個參數,其中一個是強製性的,另外兩個是可選的。這三個參數描述如下:
- $input_array:此參數是必需的。這指定要使用的數組。
- $extract_rule:此參數是可選的。 extract()函數檢查無效的變量名稱以及與現有變量名稱的衝突。此參數指定如何處理無效名稱和衝突名稱。此參數可以采用以下值:
- EXTR_OVERWRITE:此規則告訴如果發生衝突,請覆蓋現有變量。
- EXTR_SKIP:此規則告訴您,如果發生衝突,請不要覆蓋現有變量。
- EXTR_PREFIX_SAME:此規則告訴如果發生衝突,請根據$prefix參數在變量名前添加前綴。
- EXTR_PREFIX_ALL:此規則告訴所有變量名稱以$prefix參數為前綴。
- EXTR_PREFIX_INVALID:此規則告訴僅根據參數$prefix前綴無效/數字變量名稱。
- EXTR_IF_EXISTS:該規則指示僅當變量已存在於當前符號表中時才覆蓋該變量,否則不執行任何操作。
- EXTR_PREFIX_IF_EXISTS:僅當當前符號表中存在相同變量的非前綴版本時,此規則才會告訴您創建前綴變量名稱。
- $prefix:此參數是可選的。此參數指定前綴。前綴由下劃線字符自動與數組鍵分隔。此外,僅當參數$extract_rule設置為EXTR_PREFIX_SAME,EXTR_PREFIX_ALL,EXTR_PREFIX_INVALID或EXTR_PREFIX_IF_EXISTS時,才需要此參數。
返回值:extract()函數的返回值是一個整數,它表示成功從數組中提取或導入的變量數。
例子:
Input : array("a" => "one", "b" => "two", "c" => "three") Output :$a = "one" , $b = "two" , $c = "three" Explanation: The keys in the input array will become the variable names and their values will be assigned to these new variables.
以下示例程序旨在說明extract()在PHP中的工作:
示例1:
<?php
// input array
$state = array("AS"=>"ASSAM", "OR"=>"ORRISA", "KR"=>"KERELA");
extract($state);
// after using extract() function
echo"\$AS is $AS\n\$KR is $KR\n\$OR is $OR";
?>
輸出:
$AS is ASSAM $KR is KERELA $OR is ORRISA
示例2:
<?php
$AS="Original";
$state = array("AS"=>"ASSAM", "OR"=>"ORRISA", "KR"=>"KERELA");
// handling collisions with extract() function
extract($state, EXTR_PREFIX_SAME, "dup");
echo"\$AS is $AS\n\$KR is $KR\n\$OR if $OR \n\$dup_AS = $dup_AS";
?>
輸出:
$AS is Original $KR is KERELA $OR is ORRISA $dup_AS = ASSAM
參考:
http://php.net/manual/en/function.extract.php
相關用法
- PHP key()用法及代碼示例
- PHP Ds\Map xor()用法及代碼示例
- p5.js min()用法及代碼示例
- p5.js red()用法及代碼示例
- PHP tan( )用法及代碼示例
- PHP Ds\Set sum()用法及代碼示例
- PHP Ds\Map put()用法及代碼示例
- PHP pos()用法及代碼示例
- PHP end()用法及代碼示例
注:本文由純淨天空篩選整理自sid4321大神的英文原創作品 PHP | extract() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。