在PHP中有没有一种简单的方法来迭代这个结构的关联数组:
数组$searches有一个带编号的索引,其中包含4到5个关联部分。因此,我不仅需要通过$searches[n]遍历$searches[0],还需要通过$searches[n]["partn"]遍历$searches[0]["part0"]。困难的部分是不同的索引有不同数量的部分(有些可能缺少一个或两个)。
有没有想过用一种好的,整洁的,可以理解的方式来做这件事?
发布于 2008-08-25 13:24:29
嵌套两个foreach loops
foreach ($array as $i => $values) {
print "$i {\n";
foreach ($values as $key => $value) {
print " $key => $value\n";
}
print "}\n";
}发布于 2010-01-28 01:49:28
我知道这是个问题,但是使用Spl迭代器迭代多维数组是很容易的
$iterator = new RecursiveIteratorIterator(new RecursiveArrayIterator($array));
foreach($iterator as $key=>$value) {
echo $key.' -- '.$value.'<br />';
}看见
发布于 2008-10-07 07:22:11
看起来像是一个递归函数的好地方,例如。如果你有超过两个层次的深度。
function doSomething(&$complex_array)
{
foreach ($complex_array as $n => $v)
{
if (is_array($v))
doSomething($v);
else
do whatever you want to do with a single node
}
}https://stackoverflow.com/questions/26007
复制相似问题