目录

PHP 多维数组


在前面的页面中,我们描述了作为键/值对的单个列表的数组。

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


PHP - 多维数组

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

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

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

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

PHP - 二维数组

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

首先,看一下下表:

Name Stock Sold
Volvo 22 18
BMW 15 13
Saab 5 2
Land Rover 17 15

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

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

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

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

示例

<?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循环获取 $cars 数组的元素(我们仍然必须指向两个索引):

示例

<?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>";
}
?>
亲自试一试 »

完整的 PHP 数组参考

有关所有数组函数的完整参考,请访问我们的完整PHP 数组参考

该参考包含每个功能的简短描述和使用示例!