最新的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>";
}
?>
运行示例»