www.adminn.cn
站长正能量分享网!

PHP删除数组重复元素函数

AD:阿里云服务器企业会员更优惠 腾讯云香港,韩国免备案服务器1.8折优惠

文章列出一三种删除数组中重复元素函数与实例代码,前二种是利用循环来判断删除重复的数组值,最后一种是比经典的,利用了array_flip()的特性,把值变成键名,再返回重复键名就会丢失,实例代码如下:

  1. function delsame(&$array)  
  2. {  
  3. $i = 0;  
  4. while(isset($array[$i]))  
  5. {  
  6. $j = $i + 1;  
  7. while(isset($array[$j]))  
  8. {  
  9. if($array[$i] == $array[$j]) //如果发现后面有重复的元素  
  10. {  
  11. delmember($array$j); //把它删除  
  12. $j–; //重新检查补上来的元素是否是重复的  
  13. }  
  14. $j ++;  
  15. //开源代码phpfensi.com 
  16. $i ++;  
  17. }  

删除数组中重复元素的函数,代码如下:

  1. function delmember(&$array$id)  
  2. {  
  3. $size = count($array);  
  4. for($i = 0; $i <$size – $id – 1; $i ++)  
  5. {  
  6. $array[$id + $i] = $array[$id + $i + 1];  
  7. }  
  8. unset($array[$size – 1]);  

使用例子,代码如下:

  1. $output = array(1, 2, 2, 'www.phpfensi.com', 5, 4, 4, 4, 2, 7, 5, 9, 10);  
  2. delsame($output);  
  3. while(list($key$value) = each($output))  
  4. {  
  5. echo "$key:$value"."<br>";  
  6. }   
  7. //方法二,代码如下: 
  8. function uniquearray($array
  9.  
  10.  
  11. // get unique elts as keys in assoc. array 
  12.  
  13. for ($i=0,$n=count($array, 1);$i<$n;$i ) 
  14.  
  15. $u_array[$array[$i]] = 1; 
  16.  
  17.  
  18.  
  19. // copy keys only into another array 
  20.  
  21. reset($u_array, 1); 
  22.  
  23. for ($i=0,$n=count($u_array, 1);$i<$n;$i ) { 
  24.  
  25. $unduplicated_array[] = key($u_array, 1); 
  26.  
  27. next($u_array, 1); 
  28.  
  29.  
  30. return $unduplicated_array
  31.  
  32.  
  33. //方法三,代码如下: 
  34. $hills=array("first"=>"data1","second"=>"www.111cn.net","third"=>"data1"); //开源代码phpfensi.com 
  35.  
  36. $hills=array_flip($hills); //还原键名  
  37. $hills1=array_flip(array_flip($hills));//删除重复  
  38. print_r( $hills1  ); 

array array_flip ( array trans ) 

array_flip() 返回一个反转后的 array,例如 trans 中的键名变成了值,而 trans 中的值成了键名.

注意 trans 中的值需要能够作为合法的键名,例如需要是 integer 或者 string,如果值的类型不对将发出一个警告,并且有问题的键/值对将不会反转.

如果同一个值出现了多次,则最后一个键名将作为它的值,所有其它的都丢失了.

array_flip() 如果失败返回 false.

模板优惠价: (点击购买)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《PHP删除数组重复元素函数》
文章链接:https://www.adminn.cn/news/7240.html
本站资源模板仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。2021.5月起,网站调整,暂不再分享免费模板。谢谢理解

Adminn.Cn 站长分享圈

帝国CMS精品模板腾讯云优惠券,代金券

本站源码仅供本地环境下学习借鉴研究使用!

源码请勿用于任何涉灰站点!净化网络,站长更有责!

支付宝扫一扫打赏