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