我编写了一个简单的程序来理解在该循环中删除foreach循环中的数组元素的效果。我注意到即使我删除了元素4,它仍然会被打印。为什么会这样?
代码:
$arr2 = array(1,2,3,4,5);
foreach($arr2 as $elem)
{
echo '<br>val : '.$elem;
$index=array_search(4,$arr2); // search for 4 in array
if($index != false)
{
echo ' index :'.$index.' ';
unset($arr2[$index]); // delete 4 from array
}
}
输出:
val : 1 index :3
val : 2
val : 3
val : 4 // 4 gets printed !!
val : 5
答案 0 :(得分:2)