php 删除数组元素方法
在很多情况下我们的数组会出现重复情况,那我们删除数组中一些重复的内容怎么办,这些元素我必须保持他唯一,所以就想办法来删除它们,下面利用了遍历查询来删除重复数组元素的几种方法.
看一完整删除重复数组实例,代码如下:
//删除数组中的一个元素 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是一个数组:
<?php $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(),代码如下:
<?php $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]); } //开源软件:phpfensi测试数据查看更多关于php 删除数组元素方法 - php数组的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did31208