PHP 多维数组

在上一章节中,我们已经知道数组是一种数/值对的简单列表。

不过,有时您希望用一个以上的键存储值。

可以用多维数组进行存储。


PHP - 多维数组

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

PHP 能理解两、三、四或五级甚至更多级的多维数组。不过,超过三级深的数组对于大多数人难于管理。

注释:数组的维度指示您需要选择元素的索引数。

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

PHP - 两维数组

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

首先,让我们看看下面的表格:

品牌库存销量
奔驰3320
宝马1715
奥迪52
保时捷1511

我们能够在两维数组中存储上表中的数据,就像这样:

  1. $cars = array
  2. (
  3. array("奔驰",33,20),
  4. array("宝马",17,15),
  5. array("奥迪",5,2),
  6. array("保时捷",15,11)
  7. );

现在这个两维数组包含了四个数组,并且它有两个索引(下标):行和列。

如需访问 $cars 数组中的元素,我们必须使用两个索引(行和列):

  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <?php
  5. $cars = array
  6. (
  7. array("奔驰",33,20),
  8. array("宝马",17,15),
  9. array("奥迪",5,2),
  10. array("保时捷",15,11)
  11. );
  12. echo $cars[0][0].": 库存:".$cars[0][1].", 已售:".$cars[0][2].".<br>";
  13. echo $cars[1][0].": 库存:".$cars[1][1].", 已售:".$cars[1][2].".<br>";
  14. echo $cars[2][0].": 库存:".$cars[2][1].", 已售:".$cars[2][2].".<br>";
  15. echo $cars[3][0].": 库存:".$cars[3][1].", 已售:".$cars[3][2].".<br>";
  16. ?>
  17. </body>
  18. </html>

我们也可以在 For 循环中使用另一个 For 循环,来获得 $cars 数组中的元素(我们仍需使用两个索引):

  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <?php
  5. $cars = array
  6. (
  7. array("奔驰",33,20),
  8. array("宝马",17,15),
  9. array("奥迪",5,2),
  10. array("保时捷",15,11)
  11. );
  12. for ($row = 0; $row < 4; $row++) {
  13. echo "<p><b>行数 $row</b></p>";
  14. echo "<ul>";
  15. for ($col = 0; $col < 3; $col++) {
  16. echo "<li>".$cars[$row][$col]."</li>";
  17. }
  18. echo "</ul>";
  19. }
  20. ?>
  21. </body>
  22. </html>