程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP extract 將數組拆分成多個變量的函數

PHP extract 將數組拆分成多個變量的函數

編輯:關於PHP編程

extract()函數語法:
int extract( array $var_array [, int $extract_type = EXTR_OVERWRITE [, string $prefix ]] )
功能: extract()函數提取關聯數組(對數字索引數組無效)每對key和value,生成以key為變量名、value為對應值的多組新變量。
復制代碼 代碼如下:
<?php
$size = "old size"; //注意最後size變量的值。
$a = array(
"color" => "red",
"size" => "XXL",
"price" => "53");
extract($a);
echo "color = $color<br />";
echo "size = $size<br />";
echo "price = $price<br />";
?>


結果為:

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。

復制代碼 代碼如下:
<?php
$a = array(
"color" => "red",
"size" => "XXL",
"price" => "53");
extract($a,EXTR_PREFIX_ALL,"SC");
echo "color = $SC_color<br />";
echo "size = $SC_size<br />";
echo "price = $SC_price<br />";
extract($a,EXTR_REFS);
$color="green";
echo $a['color']; //查看原數組的值
?>

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved