以前喜歡在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++; }
安全搞定。