【问题标题】:Make a PHP array display nicely使 PHP 数组很好地显示
【发布时间】:2021-10-16 07:25:06
【问题描述】:

我想尝试让我的数组显示如下:

家长 |子 |子 | ...

下面是数组本质上,我正在尝试创建一个 csv(我可以创建 csv,但我无法找出筛选数组的每个元素以创建字符串的最佳方法)

[0] => Array
            (
                [id] => 79
                [parent_id] => 0
                [name] => Accessories
                [is_visible] => 1
                [url] => /bedroom-wear/accessories/
                [children] => Array
                    (
                        [0] => Array
                            (
                                [id] => 152
                                [parent_id] => 79
                                [name] => Chokers
                                [is_visible] => 1
                                [url] => /bedroom-wear/accessories/chokers/
                                [children] => Array
                                    (
                                    )

                            )

                        [1] => Array
                            (
                                [id] => 80
                                [parent_id] => 79
                                [name] => Garters
                                [is_visible] => 1
                                [url] => /bedroom-wear/accessories/garters/
                                [children] => Array
                                    (
                                    )

                            )

                        [2] => Array
                            (
                                [id] => 113
                                [parent_id] => 79
                                [name] => Gloves
                                [is_visible] => 1
                                [url] => /bedroom-wear/accessories/gloves/
                                [children] => Array
                                    (
                                    )

                            )

                        [3] => Array
                            (
                                [id] => 450
                                [parent_id] => 79
                                [name] => Masks
                                [is_visible] => 1
                                [url] => /accessories/masks/
                                [children] => Array
                                    (
                                    )

                            )

                        [4] => Array
                            (
                                [id] => 135
                                [parent_id] => 79
                                [name] => Nipple Covers
                                [is_visible] => 1
                                [url] => /bedroom-wear/accessories/nipple-covers/
                                [children] => Array
                                    (
                                    )

                            )

                        [5] => Array
                            (
                                [id] => 586
                                [parent_id] => 79
                                [name] => Pride
                                [is_visible] => 1
                                [url] => /accessories/pride/
                                [children] => Array
                                    (
                                        [0] => Array
                                            (
                                                [id] => 587
                                                [parent_id] => 586
                                                [name] => Confetti
                                                [is_visible] => 1
                                                [url] => /accessories/pride/confetti/
                                                [children] => Array
                                                    (
                                                    )

                                            )

                                    )

                            )

                    )

            )

期望的输出:

Accessories | Chokers
Accessories | Garters
Accessories | Gloves
Accessories | ...
Accessories | ...
Accessories | Pride | Confetti

我什至无法开始思考从哪里开始,如果有人能指出我正确的方向,那就太好了

【问题讨论】:

标签: php arrays recursion multidimensional-array


【解决方案1】:

好的,我已经把你见过的最简陋的 foreach 循环放在一起了,是的,我讨厌自己,但以防万一有人想要一种肮脏的方式来做到这一点:

foreach($response['data'] as $r){
  echo $r['name'] . "<br>";
  foreach($r['children'] as $child){
    echo $r['name'] . " | " . $child['name'] . "<br>";
    foreach($child['children'] as $a){
      echo $r['name'] . " | " . $child['name'] . " | " . $a['name'] . "<br>";
      foreach($a['children'] as $b){
        echo $r['name'] . " | " . $child['name'] . " | " . $a['name'] . " | " . $b['name'] . "<br>";
        foreach($b['children'] as $c){
          echo $r['name'] . " | " . $child['name'] . " | " . $a['name'] . " | " . $b['name'] . " | " . $c['name'] . "<br>";
          foreach($c['children'] as $d){
            echo $r['name'] . " | " . $child['name'] . " | " . $a['name'] . " | " . $b['name'] . " | " . $c['name'] . " | " . $d['name'] . "<br>";
          }
        }
      }
    }
  }
}

请记住,您必须为最大数量的子数组创建一个 foreach

输出:

Accessories
Accessories | Chokers
Accessories | Garters
Accessories | Gloves
Accessories | Masks
Accessories | Nipple Covers
Accessories | Pride
Accessories | Pride | Confetti

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-13
    • 1970-01-01
    • 1970-01-01
    • 2012-09-10
    • 1970-01-01
    • 1970-01-01
    • 2013-10-08
    相关资源
    最近更新 更多