伙计们我有一个像这样的数组:
array(3) {
[2]=>
array(1) {
["name"]=>
array(2) {
[0]=>
string(13) "row1"
[1]=>
string(13) "row3"
}
}
[5]=>
array(1) {
["name"]=>
array(2) {
[0]=>
string(15) "row1"
[1]=>
string(15) "row3"
}
}
[3]=>
array(1) {
["name"]=>
array(2) {
[0]=>
string(13) "row1"
[1]=>
string(13) "row3"
}
}
我想要实现的是让foreach循环0个元素(row1)然后循环遍历1(row3)并继续这样做。有没有办法做到这一点?
答案 0 :(得分:1)
您可以尝试重建阵列:
$rows = array();
foreach($array as $subarray)
foreach($subarray as $key => $value)
$rows[$key][] = $value;
此时,数组中的相同子元素在一个新数组中,现在您可以轻松地遍历子元素:
foreach($rows as $key => $value)
echo 'processing row: ' . $key ' with value ' . $value;
答案 1 :(得分:0)
我发现了一个解决这个问题的不同方法,JvdBeg解决方案工作得非常好,但如果有人遇到类似情况,我就是这样做的: $ key = key($ arr); $ keys = array_keys($ arr);
for ($i=0;$i<sizeof($arr[$key]['index']);$i++) {
for($k=0;$k<sizeof($arr);$k++) {
$key = $keys[$k];
echo "\n";
}
}