未知深度多维数组上的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>