Tho*_*ens 19 php arrays associative-array
有没有一种简单的方法可以在PHP中迭代这个结构的关联数组:
该数组$searches具有编号索引,具有4到5个关联部分.所以,我不仅需要遍历$searches[0]通过$searches[n],而且$searches[0]["part0"]通过$searches[n]["partn"].困难的部分是不同的索引具有不同数量的部分(有些可能缺少一个或两个).
想要以一种美好,整洁,易懂的方式做到这一点?
Kon*_*lph 40
嵌套两个foreach循环:
foreach ($array as $i => $values) {
print "$i {\n";
foreach ($values as $key => $value) {
print " $key => $value\n";
}
print "}\n";
}
Run Code Online (Sandbox Code Playgroud)
Gor*_*don 40
我知道这是一个问题,但是Spl Iterators很容易迭代多维数组
$iterator = new RecursiveIteratorIterator(new RecursiveArrayIterator($array));
foreach($iterator as $key=>$value) {
echo $key.' -- '.$value.'<br />';
}
Run Code Online (Sandbox Code Playgroud)
看到
Mil*_*kov 13
看起来像一个递归函数的好地方,尤其是.如果你有两个以上的深度.
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
}
}
Run Code Online (Sandbox Code Playgroud)
您应该能够使用嵌套的foreach语句
/* foreach example 4: multi-dimensional arrays */
$a = array();
$a[0][0] = "a";
$a[0][1] = "b";
$a[1][0] = "y";
$a[1][1] = "z";
foreach ($a as $v1) {
foreach ($v1 as $v2) {
echo "$v2\n";
}
}
Run Code Online (Sandbox Code Playgroud)