改进后不用再按处理前的数组的长度遍历,直接按处理后的数组长度遍历即可

  1. function unique($array)
  2. {
  3. sort($array);
  4. $arraylength=count($array);
  5. $endarray=array();
  6. for ($i=0;$i<$arraylength;$i++)
  7. {
  8. if ($i!="0")
  9. {
  10. $nextvalue=$array[$i-1];
  11. }else{
  12. $nextvalue="";
  13. }
  14. if ($i!=$arraylength)
  15. {
  16. $prevalue=$array[$i+1];
  17. }else{
  18. $prevalue="";
  19. }
  20. $currentvalue=$array[$i];
  21. if($currentvalue==$nextvalue||$currentvalue==$prevalue)
  22. {
  23. unset($array[$i]);
  24. }else{
  25. $endarray[]=$array[$i];
  26. continue;
  27. }
  28. }
  29. $array=$endarray;
  30. return $array;
  31. }
复制代码


08-27 10:22