最新的Web開發教程
 

PHP 5多維數組


在本教程的前面,我們所描述的是鍵/值對的一個列表陣列。

不過,有時你要存儲的值與一個以上的關鍵。

這可以被存儲在多維數組。


PHP - 多維數組

多維數組是含有一個或多個數組的數組。

PHP懂得多維數組是二,三,四,五,或更多層次深。 然而,數組超過三個層次比較深的是難以管理對大多數人來說。

數組的尺寸表示你需要選擇一個元素的索引數。

  • 對於二維數組,你需要兩個指標來選擇一個元素
  • 對於三維數組,你需要三個指標來選擇一個元素


PHP - 二維數組

二維陣列是數組的數組(a three-dimensional array is an array of arrays of arrays)

首先,來看看下面的表中:

名稱 股票 出售
沃爾沃 22 18
寶馬 15 13
薩博 2
路虎 17 15

我們可以存儲從上面的表中的數據在一個二維陣列,這樣的:

$cars = array
  (
  array("Volvo",22,18),
  array("BMW",15,13),
  array("Saab",5,2),
  array("Land Rover",17,15)
  );

現在二維$汽車數組包含四個陣列,它有兩個指標:行和列。

為了獲得訪問$車陣,我們必須指向這兩個指數的要素(row and column)

<?php
echo $cars[0][0].": In stock: ".$cars[0][1]." , sold: ".$cars[0][2]." .<br>";
echo $cars[1][0].": In stock: ".$cars[1][1]." , sold: ".$cars[1][2]." .<br>";
echo $cars[2][0].": In stock: ".$cars[2][1]." , sold: ".$cars[2][2]." .<br>";
echo $cars[3][0].": In stock: ".$cars[3][1]." , sold: ".$cars[3][2]." .<br>";
?>
運行示例»

我們也可以把For循環內的另一個For循環得到$汽車數組的元素(we still have to point to the two indices)

<?php
for ($row = 0; $row < 4; $row++) {
  echo "<p><b>Row number $row</b></p>";
  echo "<ul>";
  for ($col = 0; $col < 3; $col++) {
    echo "<li>" .$cars[$row][$col]."</li>";
  }
  echo "</ul>";
}
?>
運行示例»