PHP開發筆記系列(九)- 數組(一)
??? 最近在做項目的時候,經常需要用到關聯陣列的處理,發現PHP裡面有很多內建的數組處理函數,使用起來非常方便,而且效率不錯,重新整理一下, 作為《PHP開發筆記系列(XAMPP+PhpEclipse+XDebug)》 的第九篇,《PHP開發筆記系列(九)- 數組(一)》,記錄PHP數組的相關操作。
??? 1. Php的數組定義
??? Php的數組類似於JAVA中Map的概念,數組中的元素有一個特殊的標識符來區分,稱為鍵(Key),而每個鍵對應的就是值(Value)。因此一個鍵(Key)和值(Value)的組合組成數組中的一個元素。Php數組中的元素比較靈活,每個元素不必是同一種類型,例如可以是整型、字串等。
??? 2. Php的數組賦值
???? Php的鍵可以是數值鍵(numerical),也可以是關聯鍵(associative)。數值鍵與值沒有真正關係,只是值在數組中的位置,而關聯鍵則指向值。
?
$data[0] = '1st value'; $data[1] = '2nd value'; $data[2] = '3rd value';$data['1st'] = '1st value'; $data['2nd'] = '2nd value'; $data['3rd'] = '3rd value';echo $data[0];echo $data['3rd'];
?
??? 3. Php的多維陣列
???? Php的數組可以簽到,形成多維陣列。可以通過以下方式定義:
$data['school1']['grade1'] = 'grade 1'; $data['school1']['grade2'] = 'grade 2';$data['school1']['grade3'] = 'grade 3';echo $data['school1']['grate1'];
?
??? 4. 建立數組
??? 除了使用上面的方式建立數組外,還可以通過建構函式array()進行數組建立,如下:
// 建立空數組$data = array();// 建立數值鍵非空數組$numeric_data = array('1st value', '2nd value', '3rd value');// 建立關聯鍵非空數組$map_data = array('1st'=>'1st value', '2nd'=>'2nd value', '3rd'=>'3rd value');// 建立數組$multi_map_data = array('s1'=>array('g1'=>'grade1', 'g2'=>'grade2'), 's2'=>array('g3'=>'grade3', 'g4'=>'grade4') );
?
??? 5. 使用list()提取數組
??? list()函數與array()類似,但它可以在一次操作中從一個數組內提取多個值,同時為多個變數賦值。從資料庫或檔案中提取資訊時,這種構造特別有用。
??? 例如,一個檔案school.txt,需要從該檔案讀取資訊,檔案的每一行都包含學習的名稱、年級、班級、學生姓名等資訊,每一項使用“,”進行分割,如
file:array-list.txtSchool1,grade1,class1,jackSchool1,grade1,class2,dannySchool1,grade2,class1,mikeSchool1,grade2,class2,lilySchool2,grade1,class1,dickSchool2,grade1,class2,marySchool2,grade2,class1,johnySchool2,grade2,class2,smart... ...
?
?
??? 可以通過一個簡單的迴圈使用list()來讀取每一行,將各部分資料賦給變數,按照需要格式化並輸出資料,代碼如下:
?
file: array-list.phpurl: http://localhost:88/array/array-list.php'; } fclose($fp);?>
?
??? 6. 測試變數是否為數組
??? 使用數組時,有時候需要使用某個特定變數是否為一個數組。內建函數is_array()可以判斷變數是否為數組,如果是返回TRUE,否則返回FALSE。
?
file: is_array.phpurl: http://localhost:88/array/is_array.php1); echo is_array($arr) ? 'TRUE' : 'FALSE'; echo '
'; echo is_array($arr1) ? 'TRUE' : 'FALSE'; echo '
'; echo is_array($arr2) ? 'TRUE' : 'FALSE'; echo '
'; ?>
?
??? 7. 輸出數組
??? 輸出數組的方式很多,可以使用foreach、for、while等進行數組元素遍曆,代碼如下:
file: output-array.phpurl: http://localhost:88/array/output-array.php'; } echo '======================'.'
'; $i = 0; while ($i < count($data)) { echo $data[$i].'
'; $i++; } echo '======================'.'
'; for ($i = 0; $i < count($data); $i++) { echo $data[$i].'
'; } echo '======================'.'
'; $map['1st'] = '1st value'; $map['2nd'] = '2nd value'; $map['3rd'] = '3rd value'; foreach ($map as $key => $value) { echo $key.':'.$value.'
'; } ?>
?
??? 今天先寫到這,改天繼續。
?? 本文地址:http://ryan-d.iteye.com/blog/1566123