php专区

 首页 > php专区 > PHP基础 > 数组 > php删除数组中重复值的代码 - php数组

php删除数组中重复值的代码 - php数组

分享到:
【字体:
导读:
          在$intTotal比较小的情况下,比如说1000以内,$intRand的取值基本不影响结果,两者执行的时间都差不多,测试$intTotal 大于10000时,$intRand取值100时,使用array_unique的效率要高于foreach循环判断,$......

php删除数组中重复值的代码

在$intTotal比较小的情况下,比如说1000以内,$intRand的取值基本不影响结果,两者执行的时间都差不多,测试$intTotal 大于10000时,$intRand取值100时,使用array_unique的效率要高于foreach循环判断,$intRand=10,两者执行时间一致.

PHP实例代码如下:

  1. $arrF = array();  
  2. $arrS = array();  
  3. $intTotal = 100;  
  4. $intRand = 10;  
  5. for($i=0; $i < $intTotal$i++)  
  6. {  
  7. $arrF[] = rand(1, $intRand);  
  8. $arrS[] = rand(1, $intRand);  
  9. }  
  10. $arrT = array_merge($arrF$arrS);  
  11. $arrRF = array();  
  12. $intStart = time();  
  13. foreach($arrT as $v)  
  14. {  
  15. if(in_array($v$arrRF))  
  16. {  
  17. continue;  
  18. }  
  19. else  
  20. {  
  21. $arrRF[] = $v;  
  22. }  
  23. }  
  24. $intEnd = time();  
  25. $intTime = $intEnd-$intStart;  
  26. echo "With Continue,Spend time:$intTime
    "
    ;  
  27. $intStart1 = time();  
  28. $arrRS = array_unique($arrT);  
  29. $intEnd2 = time();  
  30. $intTime2 = $intEnd2-$intStart1;  
  31. echo "With array_unique function,Spend time:($intTime2)";  
  32. echo "
    "//开源代码phpfensi.com 
  33. print_r($arrT);  
  34. print_r($arrRF);  
  35. print_r($arrRS);  
  36. echo "";  
  37. ?> 

因此,可以得出结论,当数组容量不大,大概在1000以内时,使用两者的执行效率差不多.

分享到:
php 计算两数组交集两个函数 - php数组
php 计算两数组交集两个函数 使用 array_intersect 求两个数组的交集比使用 array_diff 求同样两个数组的并集要快,如果要求数组 $a 与数组 $b 的差集的个数,应该使用:count($a) - count(array_intersect($a, $b)),而不要用 count(array_diff($a,$b));前面要比后者快,在大数组中更为明显. arr...
php array_search()实现数组值删除 - php...
php array_search()实现数组值删除 array_search() 函数与 in_array() 一样,在数组中查找一个键值,如果找到了该值,匹配元素的键名会被返回,如果没找到,则返回 false. array_search() 函数与 in_array() 一样,在数组中查找一个键值,如果找到了该值,匹配元素的键名会被返回,如果没找到,则返回 ...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……