看一完整删除重复数组实例
代码如下 | 复制代码 |
//删除数组中的一个元素 function array_remove_value(&$arr, $var){ foreach ($arr as $key => $value) { if (is_array($value)) { array_remove_value($arr[$key], $var); } else { $value = trim($value); if ($value == $var) { unset($arr[$key]); } else { $arr[$key] = $value; } } } } $a是一个数组: <? $a=array("red", "green", "blue", "yellow"); count($a); //得到4 unset($a[1]); //删除第二个元素 count($a); //得到3 echo $a[2]; //数组中仅有三个元素,本想得到最后一个元素,但却得到blue, echo $a[1]; //无值 ?> 也就是说在删除数组中的元素后,数组中的元素个数(用count()得到)变了,但数组下标却没有重新排列,还必须用删除数组前的key来操作相应的值. 后来我采用另一种方法,其实根本就不叫"方法",是用php4现成的函数array_splice(). <? $a=array("red", "green", "blue", "yellow"); count ($a); //得到4 array_splice($a,1,1); //删除第二个元素 count ($a); //得到3 echo $a[2]; //得到yellow echo $a[1]; //得到blue ?> |
方法二
代码如下 | 复制代码 |
删除数组中重复元素的函数 function delmember(&$array, $id) { $size = count($array); for($i = 0; $i <$size - $id - 1; $i ++) { $array[$id + $i] = $array[$id + $i + 1]; } unset($array[$size - 1]); } |
更多详细内容请查看:http://www.111cn.net/phper/php-function/34794.htm
你可能感兴趣的文章