$arr = array( array('a'=>1,'b'=>2,'c'=>3,'d'=>4), array('a'=>5,'b'=>6,'c'=>7,'d'=>8), array('a'=>9,'b'=>10,'c'=>11,'d'=>12), array('a'=>13,'b'=>14,'c'=>15,'d'=>16), array('a'=>17,'b'=>18,'c'=>19,'d'=>20), array('a'=>21,'b'=>22,'c'=>23,'d'=>24), ); foreach ($arr as &$val) { $temp = $val['a']%2; if(1 == $temp) { unset($val); } } print_r($arr);
这段代码,本想销毁掉满足判断条件中,$arr对应的键值对。查看结果,没有销毁。查看了一下手册,在foreach中使用foreache($arr as &$val)引用模式,unset($val),只是取消引用,并不是销毁键值对。