$arr = array('a' => 1, 'b' => 2, 'c' => 3);
reset($arr);
while (list($k, $v) = each($arr)) {
print "$k => $v\n";
$h[] = $arr;
}
答案 0 :(得分:2)
使用foreach($arr as $k => $v)
代替reset($arr); while(...)
它失败的原因是$h[] = $arr;
重置内部数组指针,如果它在结尾处,那么循环从头开始。
答案 1 :(得分:0)
ThiefMaster是对的。通过赋值$arr
,当您在最后一个元素时重置内部指针。使用foreach()
时,您将使用原始数组的副本。