多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > php array_flip()與array_uniqure()刪除數組重復元素

php array_flip()與array_uniqure()刪除數組重復元素

來源:程序員人生   發布時間:2014-05-13 00:02:18 閱讀次數:2977次

在php中刪除數組重復元素的函數有幾個,一個是array_unique(),另外就是array_flip()與array_uniqure()函數,但后者比前者性能要高幾倍了,所以我只介紹兩者來刪除重復數組元素了。

實例代碼如下:

  1. $arr = array(…………) ;// 假設有數組包含一萬個元素,里面有重復的元素。 
  2. $arr = array_flip(array_flip($arr)); // 這樣便可以刪除重復元素。 

究竟是怎么回事呢?來看下array_flip()的作用:array_flip()用于將一個數組的每個元素的鍵和值交換,代碼如下:

  1. $arr1 = array("age" => 30, "name" => '快樂園'); 
  2. $arr2 = array_flip($arr1); // $arr2 就是 array(30 => "age", '快樂園' => "name"); 

在PHP數組中,允許不同的元素可以取同一個值,但不允許同一個鍵名被不同的元素使用,代碼如下:

  1. $arr1 = array("age" => 30, "name" => '快樂園'"age" => 20); "age" => 2 0將會取代 "age" => 30 
  2. $arr1 = array("name" => '快樂園'"age" => 45); 

這里 $arr1與$arr2 是相等的.

于是,我們便可以知道,為什么 array_flip(array_flip($arr))可以刪除數組中重復的元素了,首先,$arr里的值會變成鍵名,因為值是有重復的,變成鍵名之后這些重復的值便成了重復的鍵名,PHP 引擎將重復的鍵名刪除,只保留最后一個,代碼如下:

  1. $arr1 = array("age" => 30, "name" => '快樂園'"age" => 20); 
  2. $arr1 = array_flip($arr1); // $arr1 變成了 array("快樂園" => "name", 20 => "age"); 
  3. // 再把 $arr1 的鍵名與值還復: 
  4. $arr1 = array_flip($arr1); 

上面的代碼寫得簡潔一些就是:$arr1 = array_flip(array_flip($arr1));

一個自定刪除數組的函數,刪除數組中重復元素的函數,代碼如下:

  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]);  
  9. }  
  10. //使用例子: 
  11.  代碼如下 復制代碼 
  12. $output = array(1, 2, 2, 'www.111cn.net', 5, 4, 4, 4, 2, 7, 5, 9, 10);  
  13. delsame($output);  
  14. while(list($key$value) = each($output))  
  15. {  
  16. echo "$key:$value"."<br>";  
  17. }  
  18. //方法二 
  19. function uniquearray($array
  20. // get unique elts as keys in assoc. array 
  21. for ($i=0,$n=count($array, 1);$i<$n;$i ) 
  22. $u_array[$array[$i]] = 1; 
  23.  
  24. // copy keys only into another array 
  25. reset($u_array, 1); 
  26. for ($i=0,$n=count($u_array, 1);$i<$n;$i ) { 
  27. $unduplicated_array[] = key($u_array, 1); 
  28. next($u_array, 1); 
  29. return $unduplicated_array
  30. }
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 一级a性色生活片久久毛片 一级a性色生活片毛片 | 免费观看影视传媒公司 | 波多野结衣一区在线观看 | 亚洲精品高清视频 | 亚洲免费中文字幕 | 亚洲国产成人久久精品影视 | 中文字幕一区二区三区视频在线 | 亚洲福利在线观看 | 欧美人与动性视频在线观 | 中文国产成人精品久久一区 | 亚洲国产欧美在线不卡中文 | 中文字幕欧美日韩久久 | 日本午夜视频在线观看 | 91桃色观看免费高清 | 亚洲专区一区 | 六月亚洲精品一区 | 黑人xxxx videos hd| 午夜免费啪在线观看视频网站 | 羞羞视频免费入口 | 欧美精品综合 | 亚洲欧美经典 | 最近最新高清中文字幕 | 亚洲在线免费观看 | 激情小视频 | 久久久精品久久久久久 | 伊人久爱| 视频在线观看h | 日韩美女福利视频 | 成人午夜视频在线播放 | 精品久久久久久久高清 | free欧美性杂交hd | 国产欧美日韩精品一区二 | 最近最新中文字幕在线第一页 | 欧美成人a视频 | 婷婷在线成人免费观看搜索 | 亚洲精品视频在线观看视频 | 免费视频观看在线www日本 | 波多野结衣四虎精品影库 | 国产精品久久久久久久久免费观看 | 亚洲精品不卡午夜精品 | 欧美久久超级碰碰碰二区三区 |