为什么下面的PHP代码创建一个无限循环?

|
$arr = array(\'a\' => 1, \'b\' => 2, \'c\' => 3);
reset($arr);
while (list($k, $v) = each($arr)) {
    print \"$k => $v\\n\";
    $h[] = $arr;
}
已邀请:
使用
foreach($arr as $k => $v)
代替
reset($arr); while(...)
失败的原因是如果内部数组指针位于末尾,则ѭ3会重置内部数组指针,因此循环从头开始。
ThiefMaster是正确的。通过分配“ 4”,当您位于最后一个元素时,将重置内部指针。使用
foreach()
时,将使用原始数组的副本。

要回复问题请先登录注册