以前喜歡在foreach裡unset, 後來發現這麽寫的話,有時候並沒有什麽卵用, 干脆用array_splice搞定吧。代碼舉例:
foreach($foo as $k => $v) {
// 某種判斷條件, 例如xxxx情況下刪掉這個元素
// if (xxxx) { ...
array_splice($foo, $k, 1);
// }
}請注意哦, 這樣做仍然是不保險的, 你要確定這裡的$k是不是0到N的那種offset(偏移量), 如果不是, 豈不是要坑大了? 保險起見:
$k = 0;
foreach($foo as $v) {
// 某種判斷條件, 例如xxxx情況下刪掉當前元素
// if (xxxx) { ...
array_splice($foo, $k, 1);
// }
$k++;
}安全搞定。