日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

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

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

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

在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. }
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 国产一区二三区 | 日本理伦片午夜理伦片 | 国产乱码精品一区二区三区不卡 | 欧美视频1 | 81精品国产乱码久久久久久 | 欧美xxxx黑人又粗又长 | 久久成人免费 | a级毛片播放 | 国产a网 | 久久成人在线 | 欧美一区视频 | 国产精品1区 | 久草福利在线视频 | 国产乱码精品一区二区三区五月婷 | 久久免费毛片 | 久久免费精品 | 91高清免费看| 国产成人毛片 | 日韩在线中文 | 91av导航 | 亚洲成人首页 | 国产精品黄色 | 国产一区二区三区久久 | 国产欧美日韩在线观看 | 成人国产在线 | 欧美在线视频免费播放 | 99国产精品一区 | 一个色影院 | 国产一区二区免费在线观看 | 国产视频一区二区在线观看 | 九九热免费精品视频 | 玖玖国产| 一区二区三区国产精品 | 激情网综合 | 国产精品美女一区二区三区 | 91官网在线观看 | 中文字幕三区 | 日韩欧美成人一区二区 | 精品视频在线免费观看 | 亚洲国产97在线精品一区 | 四色永久|