【问题标题】:How to loop in a multidimensional array in PHP? [duplicate]如何在 PHP 中循环输入多维数组? [复制]
【发布时间】:2017-07-26 02:48:11
【问题描述】:

我有这个数组 ($resultPerCountry),它是从一个简单的 SQL 请求构建的(然后我按国家/地区对项目进行分组,从而得到这个多维数组:

Array
(
    [Denmark] => Array
        (
            [0] => Array
                (
                    [name] => foo
                    [logo] => foo.png
                    [country] => Denmark
                )
            [1] => Array
                (
                    [name] => bar
                    [logo] => bar.png
                    [country] => Denmark
                )
        )
    [Finland] => Array
        (
            [0] => Array
                (
                    [name] => baz
                    [logo] => baz.png
                    [country] => Finland
                )
        )
)

如何显示它,以便在 HTML 中有类似的内容:

<strong>Denmark</strong>
<p>Foo</p>
<p>Bar</p>
<strong>Finland</strong>
<p>Baz</p>

我正在尝试一个简单的 foreach,但我迷路了......

谢谢!

【问题讨论】:

  • 有嵌套循环吗?

标签: php


【解决方案1】:

只是为了显示@GuillaumeSTLR 答案的替代语法。

<?php foreach ($array as $location => $items) : ?>

    <strong><?php echo $location ?></strong>

    <?php foreach ($items as $item) : ?>
        <p><?php echo $item ?></p>
    <?php endforeach; ?>


<?php endforeach; ?>

希望这会有所帮助!

【讨论】:

    【解决方案2】:

    你必须使用 2 个 foreachs,像这样:

    <?php
    
    foreach($array as $country => $infos) {
        echo sprintf("<strong>%s</strong>", $country);
        foreach($infos as $info) {
            echo sprintf("<p>%s</p>", $info['name']);
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2019-07-25
      • 2017-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-25
      • 2019-07-17
      • 2012-05-13
      • 1970-01-01
      相关资源
      最近更新 更多