如何在 PHP 中使用嵌套循环遍历并打印多维关联数组

12次阅读

如何在 PHP 中使用嵌套循环遍历并打印多维关联数组

本文详解如何用 foreach 等循环结构逐层遍历 php 多维关联数组,并以清晰、分行格式输出键值对,适合初学者快速掌握嵌套遍历逻辑与实际写法。

php 中处理多维关联数组(如商品分类数据)时,单层 foreach 只能访问第一层键(如 ‘vegetables’、’fruit’),而无法深入到子数组内部。要完整、结构化地打印所有数据,必须采用嵌套循环——外层遍历主数组,内层遍历每个子数组。

以下是以你提供的 $bazar 数组为例的推荐实现方式(使用 foreach,语义清晰、不易出错):

 ['potato' => 16, 'cucumber' => 40, 'pumpkin' => 30, 'carrot' => 60],     'fruit'      => ['apples' => 150, 'pine-apple' => '50', 'milk' => 100],     'fishes'     => ['rui' => 220, 'tuna' => 280, 'shrimp' => 'it is delicious'] ];  // 外层:遍历一级分类(如 vegetables、fruit) foreach ($bazar as $category => $items) {     echo "{$category}:
"; // 打印分类名,加粗增强可读性 // 内层:遍历该分类下的具体条目 foreach ($items as $name => $price) { echo " • {$name} → {$price}
"; } echo "
"; // 分类间空行,提升视觉层次 } ?>

输出效果示例:

vegetables:
• potato → 16
• cucumber → 40
• pumpkin → 30
• carrot → 60

fruit:
apples → 150
• pine-apple → 50
• milk → 100

...

? 注意事项与技巧:

立即学习PHP免费学习笔记(深入)”;

  • 不建议混用 for/while 遍历关联数组——因无固定数字索引,foreach 是最自然、安全的选择;
  • 若需兼容更深层嵌套(如三维数组),可封装递归函数,但本例两层已足够;
  • 输出时使用   缩进或 html
      /

    • 结构,可显著提升可读性(尤其用于网页展示);
    • 注意字符串与数字混用(如 ’50’ 和 100)不会影响遍历,PHP 会自动类型转换显示。

    掌握这种“一层一循环”的思维模式,是处理配置数组、API 响应、数据库结果集等真实场景的关键基础。多练习几遍,你就能轻松驾驭任意深度的关联结构。

text=ZqhQzanResources