php array iteration visual parent>儿童

时间:2018-06-04 12:23:32

标签: php arrays iteration

设法用childs创建数组树。看起来像这样。

enter image description here

想尝试以相同级别打印出来。

<ul>
<li>cat1</li>
<ul><li>sub-cat</li>
  <ul><li>subsub-cat</li>
    <ul><li>subsubsub-cat</li>
      <ul><li>subsubsubsub-cat</li></ul>
    <li>subcub-cat2</li>
<ul></ul></ul></ul></ul>
<li>cat2</li>
</ul>

需要使用迭代角度。至少指出我正确的方向。

它不必与UL LI一起使用,可以与 - 或某种类似,只需要使用迭代方法将其打印出来。

2 个答案:

答案 0 :(得分:0)

试试这段代码:

<ul>
    <?php parse($array); ?>
</ul>
<?php
function parse($array) {
    foreach ($array as $value) {
        ?>
        <li><?php echo $value->name; ?>

            <?php if (!empty($value->child)) { ?>
                <ul>
                    <?php parse($value->child); ?>
                </ul>
            <?php } ?>
        </li>
        <?php
    }
}
?>

我已经遇到过这个问题并使用相同的技巧来处理。

答案 1 :(得分:0)

这不是确切的解决方案,但你可以使用类似的东西

foreach( $array as $item ){
    echo $item['id'].'<br>';
    while(isset($item['child'])){
        $item = $item['child'];
        echo $item['id'].'<br>';
    }
}

这是我生成的代码示例 http://sandbox.onlinephpfunctions.com/code/068f8b2d79cb5e210a6ee4c8e14c1a8649ab0dea