首页 > 解决方案 > 继续检查数组中的值是否为数组

问题描述

我想创建一个循环,将数组打印为 '' 但还要不断检查该值是否也是一个数组,以便我也可以遍历该数组。

但是我不完全理解如何在不使用大量 if 语句的情况下继续检查 value 是否为数组。

我的数组:

$stuff = array('germany', 'java', 'help', array('hello', 'help', array('save', 'me', 'python')));

输出:

<ul>
    <li>germany</li>
    <li>java</li>
    <li>help</li>
    <ul>
        <li>hello</li>
        <li>help</li>            
        <ul>
            <li>save</li>        
            <li>me</li>        
            <li>python</li>        
        </ul>
    </ul>
</ul>

标签: phparraysloops

解决方案


您可以将递归函数用作

<?php
        //Enter your code here, enjoy!


$stuff = array('germany', 'java', 'help', array('hello', 'help', array('save', 'me', 'python')));

loop($stuff);

function loop($ary){
    echo "<ul>\n";
    foreach($ary as $val){
        if(is_array($val))
            loop($val);
        else
            echo "<li>".$val."</li>\n";
    }
    echo "</ul>\n";
}

这将给出输出:

<ul>
<li>germany</li>
<li>java</li>
<li>help</li>
<ul>
<li>hello</li>
<li>help</li>
<ul>
<li>save</li>
<li>me</li>
<li>python</li>
</ul>
</ul>
</ul>

工作演示 在这里 随意提出任何疑问。

快乐编码:)


推荐阅读