我想在 PHP 中循环遍历一个数组。循环必须是递归的,因为我现在不知道有多少个数组中的数组。它用于阅读 Symfony2 中的翻译。
输出格式为:
a.d.e
a.f.g
b.h.i
c.j.k.l.m
c.n.o
与示例数组:
$array = array(
'a' => array('d' => 'e', 'f' => 'g'),
'b' => array('h' => 'i'),
'c' => array(
'j' => array(
'k' => array(
'l' => 'm')),
'n' => 'o'));
我尝试了以下方法,但这不是最终的解决方案,但递归正在工作:
function displayArrayRecursively($array)
{
foreach ($array as $key => $value) {
if (is_array($value)) {
echo $key . '<br>';
displayArrayRecursively($value);
} else {
echo $key . '<br>' . $value . '<br>';
}
}
}
提前致谢!
我猜你的函数只是输出
a
d
e
...
像这样的东西应该有效:
displayArrayRecursively($array, null);
function displayArrayRecursively($array, $keysString = '')
{
if (is_array($array)) {
foreach ($array as $key => $value) {
displayArrayRecursively($value, $keysString . $key . '.');
}
} else {
echo $keysString . $array . '<br/> ';
}
}
它应该非常接近您所需要的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)