1. 程式人生 > >PHP--陣列函式(compact、extract)

PHP--陣列函式(compact、extract)

1、compact():把變數轉換為陣列,變數名作為鍵名,變數值作為鍵值:

第一種寫法:
	$webname = '趙一鳴部落格';
	$weburl = 'http://www.zymseo.com';
	$arry = array('webname','weburl');
	echo '<pre>';
	print_r(compact($arry));

第二種寫法:
	$webname = '趙一鳴部落格';
	$weburl = 'http://www.zymseo.com';
	echo '<pre>';
	print_r(compact('webname','weburl'));

2、extract():把陣列轉換為變數,鍵名作為變數名,鍵值作為變數值:
	$webname = '百度';
	$arry = array('webname'=>'趙一鳴部落格','weburl'=>'http://www.zymseo.com');
	extract($arry);
	echo $webname."<br/>";?//趙一鳴部落格
	echo $weburl.'<br/>';//http://www.zymseo.com
	$webname = '百度';
	$arry = array('webname'=>'趙一鳴部落格','weburl'=>'http://www.zymseo.com');
	extract($arry,EXTR_PREFIX_ALL,c);
	echo $c_webname."<br/>";//趙一鳴部落格
	echo $c_weburl.'<br/>';//http://www.zymseo.com

引數說明:

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 - 將變數作為引用提取。匯入的變數仍然引用了陣列引數的值。