仅显示没有内置函数PHP的数组中的重复值

时间:2012-09-01 06:22:24

标签: php

例如:

$arr = array(3,5,2,5,3,9);

我想只显示常见元素,即3,5作为输出。

2 个答案:

答案 0 :(得分:1)

尝试以下方法:

$arr = array(3,5,2,5,3,9);
foreach($arr as $key => $val){
  //remove the item from the array in order 
  //to prevent printing duplicates twice
  unset($arr[$key]); 
  //now if another copy of this key still exists in the array 
  //print it since it's a dup
  if (in_array($val,$arr)){
    echo $val . " ";
  }
}

<强>输出:
3 5

<强>增加:
我想你被要求自己实现它(不使用内置函数)的原因是为了避免这样的答案:

$unique = array_unique($arr); 
$dupes = array_diff_key( $arr, $unique ); 

答案 1 :(得分:1)

这是我的尝试:

<?php

  $arr = array(3,5,2,5,3,9);
  $temp_array = array();

  foreach($arr as $val)
  {
     if(isset($temp_array[$val]))
     {
       $temp_array[$val] = $val;
    }else{
     $temp_array[$val] = 0;
   }
 }

 foreach($temp_array as $val2)
 {
    if($val2 > 0)
    {
      echo $val2 . ', ';
    }
 }

&GT;

- 输出 -

3,5,