PHP 多维数组

在前面的页面中,我们描述了数组,它是一个单一的键值对列表。

然而,有时您希望使用多个键来存储值。为此,我们有多维数组。

PHP 多维数组

多维数组是一个包含一个或多个数组的数组。

PHP 支持深度为二、三、四、五或更多层的多维数组。然而,对于大多数人来说,深度超过三层的数组很难管理。

数组的维度表示选择元素所需的索引数量。

  • 对于二维数组,您需要两个索引来选择元素
  • 对于三维数组,您需要三个索引来选择元素

PHP - 二维数组

二维数组是数组的数组(三维数组是数组的数组的数组)。

首先,请看下面的表格:

名称 库存 已售
Volvo 22 18
BMW 15 13
Ford 5 2
Land Rover 17 15

我们可以将上表中的数据存储在二维数组中,如下所示:

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

现在二维的 $cars 数组包含四个数组,并且它有两个索引:行和列。

要访问 $cars 数组的元素,我们必须指向两个索引(行和列):

实例

echo $cars[0][0].": 库存:".$cars[0][1].", 已售:".$cars[0][2].".<br>";
echo $cars[1][0].": 库存:".$cars[1][1].", 已售:".$cars[1][2].".<br>";
echo $cars[2][0].": 库存:".$cars[2][1].", 已售:".$cars[2][2].".<br>";
echo $cars[3][0].": 库存:".$cars[3][1].", 已售:".$cars[3][2].".<br>";

亲自试一试

我们还可以在另一个 for 循环内部放置一个 for 循环来获取 $cars 数组的元素(我们仍然需要指向两个索引):

实例

for ($row = 0; $row < 4; $row++) {
  echo "<p><b>行号 $row</b></p>";
  echo "<ul>";
    for ($col = 0; $col < 3; $col++) {
      echo "<li>".$cars[$row][$col]."</li>";
    }
  echo "</ul>";
}

亲自试一试

完整的 PHP 数组参考手册

如需所有数组函数的完整参考,请访问我们的完整 PHP 数组参考手册

该参考包含每个函数的简短描述和使用实例!