實例:
$arr=array('a','b','c','d','e','f'); foreach($arr as $index=>$tmp){ echo $index.'=>'.$tmp.PHP_EOL; unset($arr[1]); } print_r($arr); exit;
輸出結果為:
0=>a
1=>b
2=>c
3=>d
4=>e
5=>f
Array
(
[0] => a
[2] => c
[3] => d
[4] => e
[5] => f
)
總結:在foreach內UNSET當前循環的數組信息不會影響數組中的鍵值,只有當本數組結束后unset的值才會被真正的釋放掉。
當您在循環0鍵值的時候想把后面還未循環的1-5號鍵值unset不循環是不成立的。