array_unique函数就是可以处重的,它具备了这个功能了,下面我们一来看一个关于PHP使用array_unique对二维数组去重处理例子。
php 5.2.9 版本增加了array_unique对多维数组的支持,在处理多维数组是需要设置sort_flags参数
一维数组的重复项:
使用array_unique函数即可,使用实例如下:
代码如下
<?php$aa=array("apple","banana","pear","apple","wail","watermalon");$bb=array_unique($aa);print_r($bb);?>
结果如下:
Array([0]=>apple[1]=>banana[2]=>pear[4]=>wail[5]=>watermalon)
二维数组去重项
代码如下
例如:
$result=array(0=>array('a'=>1,'b'=>'Hello'),1=>array('a'=>1,'b'=>'other'),2=>array('a'=>1,'b'=>'other'),);
处理成
$result=array(0=>array('a'=>1,'b'=>'Hello'),1=>array('a'=>1,'b'=>'other'));
使用方法
array_unique($result,SORT_REGULAR);
二维数组的重复项:
对于二维数组咱们分两种情况讨论,一种是因为某一键名的值不能重复,删除重复项;另一种因为内部的一维数组不能完全相同,而删除重复项,下面举例说明:
㈠因为某一键名的值不能重复,删除重复项
PHP代码如下
<?phpfunctionassoc_unique($arr,$key){$tmp_arr=array();foreach($arras$k=>$v){if(in_array($v[$key],$tmp_arr)){//搜索$v[$key]是否在$tmp_arr数组中存在,若存在返回trueunset($arr[$k]);}else{$tmp_arr[]=$v[$key];}}sort($arr);//sort函数对数组进行排序return$arr;}$aa=array(array('id'=>123,'name'=>'张三'),array('id'=>123,'name'=>'李四'),array('id'=>124,'name'=>'王五'),array('id'=>125,'name'=>'赵六'),array('id'=>126,'name'=>'赵六'));$key='id';assoc_unique(&$aa,$key);print_r($aa);?>
显示结果为:
Array([0]=>Array([id]=>123[name]=>张三)[1]=>Array([id]=>124[name]=>王五)[2]=>Array([id]=>125[name]=>赵六)[3]=>Array([id]=>126[name]=>赵六))
因内部的一维数组不能完全相同,而删除重复项
代码如下
<?phpfunctionarray_unique_fb($array2D){foreach($array2Das$v){$v=join(",",$v);//降维,也可以用implode,将一维数组转换为用逗号连接的字符串$temp[]=$v;}$temp=array_unique($temp);//去掉重复的字符串,也就是重复的一维数组foreach($tempas$k=>$v){$temp[$k]=explode(",",$v);//再将拆开的数组重新组装}return$temp;}$aa=array(array('id'=>123,'name'=>'张三'),array('id'=>123,'name'=>'李四'),array('id'=>124,'name'=>'王五'),array('id'=>123,'name'=>'李四'),array('id'=>126,'name'=>'赵六'));$bb=array_unique_fb($aa);print_r($bb)?>
显示结果:
Array([0]=>Array([0]=>123[1]=>张三)[1]=>Array([0]=>123[1]=>李四)[2]=>Array([0]=>124[1]=>王五)[4]=>Array([0]=>126[1]=>赵六))
产品猿社区致力收录更多优质的商业产品,给服务商以及软件采购客户提供更多优质的软件产品,帮助开发者变现来实现多方共赢;
日常运营的过程中我们难免会遇到各种版权纠纷等问题,如果您在社区内发现有您的产品未经您授权而被用户提供下载或使用,您可按照我们投诉流程处理,点我投诉;
本文来自用户发布投稿,不代表产品猿立场 ;若对此文有疑问或内容有严重错误,可联系平台客服反馈;
部分产品是用户投稿,可能本文没有提供官方下下载地址或教程,若您看到的内容没有下载入口,您可以在我们产品园商城搜索看开发者是否有发布商品;若您是开发者,也诚邀您入驻商城平台发布的产品,地址:点我进入;
如若转载,请注明出处:https://www.chanpinyuan.cn/40348.html;