Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
未知深度多维数组上的PHP foreach循环_Php_Arrays_Laravel - Fatal编程技术网

未知深度多维数组上的PHP foreach循环

未知深度多维数组上的PHP foreach循环,php,arrays,laravel,Php,Arrays,Laravel,如果需要,我有一个由目录结构或树组成的多维数组,但是当我不知道数组的深度时,我如何循环遍历这些数据呢? 下面是一个数组的示例 我想在这里浏览每个项目,以便将这些项目添加到和中,以获得“菜单”类型。就像一个文件浏览器 尝试使用foreach,但当您不总是知道数组的深度时,这有点困难 创建一个递归函数,检查元素是否是数组,如果是,则再次调用该函数,否则按常规创建列表项 函数我的打印($array){ $output=“”; foreach($array作为$value){ if(是_数组($val

如果需要,我有一个由目录结构或树组成的多维数组,但是当我不知道数组的深度时,我如何循环遍历这些数据呢? 下面是一个数组的示例

我想在这里浏览每个项目,以便将这些项目添加到
  • 中,以获得“菜单”类型。就像一个文件浏览器


    尝试使用
    foreach
    ,但当您不总是知道数组的深度时,这有点困难

    创建一个递归函数,检查元素是否是数组,如果是,则再次调用该函数,否则按常规创建列表项

    函数我的打印($array){
    $output=“
      ”; foreach($array作为$value){ if(是_数组($value)){ $output.=“
    • ”。我的打印($value)。“
    • ”; }否则{ $output.=“
    • ”“$value。”
    • ”; } } $output.=“
    ”; 返回$output; }
    以数组作为

    $array = ['value', 'value',
                ['array 1', 'array 1', 
                    ['array 2']],
                    ['array with more depth', 
                        ['array deep',
                            ['array deeper']]]
            ];
    
    ..输出将是(尽管未格式化-此处格式化,以便与阵列进行视觉比较)

    • 价值观
    • 价值观
      • 数组1
      • 数组1
        • 阵列2
      • 深度更大的阵列
        • 阵列深度
          • 排列更深
    • 现场演示

    是否编写递归函数?
    <ul>
        <li>value</li>
        <li>value</li>
        <li>
            <ul>
                <li>array 1</li>
                <li>array 1</li>
                <li>
                    <ul>
                        <li>array 2</li>
                    </ul>
                </li>
            </ul>
        </li>
        <li>
            <ul>
                <li>array with more depth</li>
                <li>
                    <ul>
                        <li>array deep</li>
                        <li>
                            <ul>
                                <li>array deeper</li>
                            </ul>
                        </li>
                    </ul>
                </li>
            </ul>
        </li>
    </ul>