首頁  >  文章  >  後端開發  >  extractdata PHP extract 將陣列拆分成多個變數的函數

extractdata PHP extract 將陣列拆分成多個變數的函數

WBOY
WBOY原創
2016-07-29 08:43:121514瀏覽

extract()函數語法:
int extract( array $var_array [, int $extract_type = EXTR_OVERWRITE [, string $prefix ]] )
功能: extract()函數提取關聯數組(對數字索引數組無效對key和value,產生以key為變數名、value為對應值的多組新變數。

複製程式碼 程式碼如下:


$size = "old size"; //注意最後size變數的值。
$a = array(
"color" => "red",
"size" => "XXL",
"price" => "53");
extract( $a);
echo "color = $color
";
echo "size = $size
";
echo "price = $price
";
?>


結果為:
color = red
size = XXL
price = 53
透過上例發現$size的值為XXL,而不是之前的”old size”,說明預設當數組中的key與已有的變數衝突時,將覆蓋原來的變數。
繼續介紹extract函數的後兩個可選參數。
第二個參數$extract_type是用來控制當發生衝突時的處理方法,可能的值為:
EXTR_OVERWRITE : 衝突時覆寫已有的變量,預設值。
EXTR_SKIP : 不覆寫已有的變量,即不在產生該key和value對的變數。
EXTR_PREFIX_SAME : 衝突時,產生的新變數名稱加一個前綴字串,其值由第三個參數指定。
EXTR_PREFIX_ALL : 對所有產生的新變數名稱加一個前綴字串,其值由第三個參數指定。
EXTR_PREFIX_INVALID : 對key的值換為變數名稱時無效時(如key第一個字元為數字,而變數名稱要求第一個字元不能為數字),在變數名稱加一個前綴字串,其值由第三個參數指定。
EXTR_IF_EXISTS : 只取出先前已經存在的變數。
EXTR_PREFIX_IF_EXISTS : 對EXTR_IF_EXISTS所取得的變量,在其變數名稱加一個前綴字串,其值由第三個參數指定。
EXTR_REFS : 以引用的方式提取變量,說明提取變量的值改變會影響原數組的值。
注意:在變數名稱加上前綴字串時,新的變數名為 PREFIX_key,而不是PREFIXkey。

複製程式碼 程式碼如下:


$a = array(
"color" = = > "red",
"size" => "XXL",
"price" => "53");
extract($a,EXTR_PREFIX_ALL,"SC");
echo " color = $SC_color
";
echo "size = $SC_size
";
echo "price = $SC_price
";
extract($a,EXTR_REFS) ;
$color="green";
echo $a['color']; //看原始數組的值
?>


結果為:
color = red
size = XXL
price = 53
green

以上就介紹了extractdata PHP extract 將數組拆分成多個變數的函數,包括了extractdata方面的內容,希望對PHP教程有興趣的朋友有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn