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