|
|
// 宣告$School是二維陣列 $School = array( array("幼稚園", "八個月至六歲", "小天使"), array("國小", "七歲至十三歲", "已經很皮了"), array("國中", "十四歲至十六歲", "管不動了"));
// 印出$School陣列的某個元素 echo $School[0][0]; echo " "; echo $School[0][1]; echo " "; echo $School[0][2]; echo "<br>"; echo $School[1][0]; echo " "; echo $School[1][1]; echo " "; echo $School[1][2]; echo "<br>"; echo $School[2][0]; echo " "; echo $School[2][1]; echo " "; echo $School[2][2]; echo "<br>"; echo "<br>";
// 逐一印出$School陣列的全部元素 for($Key=0;$Key<count($School);$Key++) { for($Key2=0;$Key2<count($School[$Key]);$Key2++) { echo $School[$Key][$Key2]; echo " "; } echo "<br>"; } echo "<hr>";
// 二維陣列:指定索引名稱 $City = array( "800"=>array("新興區", "市中心"), "803"=>array("三民區", "面積最大"), "807"=>array("小港區", "原屬高雄縣"));
echo $City["800"][0]; echo " "; echo $City["800"][1]; echo "<br>"; echo $City["803"][0]; echo " "; echo $City["803"][1]; echo "<br>"; echo $City["807"][0]; echo " "; echo $City["807"][1]; echo "<br>"; echo "<br>";
while (list($Key, $Value) = each($City)) { while (list($Key2, $Value2) = each($City[$Key])) { // 注 echo $City[$Key][$Key2]; // 注2 echo " "; } echo "<br>"; } ?> |
結果: 幼稚園 八個月至六歲 小天使 國小 七歲至十三歲 已經很皮了 國中 十四歲至十六歲 管不動了
幼稚園 八個月至六歲 小天使 國小 七歲至十三歲 已經很皮了 國中 十四歲至十六歲 管不動了
新興區 市中心 三民區 面積最大 小港區 原屬高雄縣
新興區 市中心 三民區 面積最大 小港區 原屬高雄縣
|
語法: 一般二維陣列型式: $變數名稱 = array(array("元素值", "元素值"), array("元素值", "元素值"));
這樣寫法比較清楚: $變數名稱 = array( array("元素值", "元素值"), array("元素值", "元素值"));
指定索引名稱型式: $變數名稱 = array("索引"=>array("元素值"), "索引"=>array("元素值"), "索引"=>array("元素值"));
這樣寫法比較清楚: $變數名稱 = array( "索引"=>array("元素值"), "索引"=>array("元素值"), "索引"=>array("元素值")); |
說明:
- 一維陣列的說明請參閱前範例。
- 二維陣列的「元素值」型態可以是字串或數字,也可以放入變數或常數或一維陣列。
- 每個元素之間必須用逗點(,)隔開。
- 用中括號([])取得陣列的一維元素值;用兩對中括號([][])取得陣列的二維元素值。
- 陣列的「索引值」是從零(0)開始計數,一維第一個元素就是$Array[0];二維第一個元素就是$Array[索引值][0]。
- 自定「索引名稱」可以是字串或數字,也可以放入變數及常數;用自定索引時要加等於大於(=>)。
- while (list($Key, $Value) = each($Array)),這種寫法就是逐一取得陣列的「索引值$Key」及「元素值$Value」;不必去考慮陣列元素的個數,也不必考慮索引名稱,是很好用的方式。用兩層這樣的方式,就是逐一取得二維陣列的「索引值」及「元素值」。
- 註:範例中的$City[$Key]可寫成$Value,結果是一樣的,不過第一種寫法比較容易除錯。
- 注2:範例中的$City[$Key][$Key2]也可以寫成$Value2或$Value[$Key2],結果是一樣的,不過第一種寫法比較容易除錯。
- 二維陣列只是一維陣列多一層,規則與一維陣列均同。
- 雙斜線(//)是註解。
| |
|