-3

例如:

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

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

4

2 回答 2

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 ); 
于 2012-09-01T06:28:18.553 回答
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 . ', ';
    }
 }

?>

- 输出 -

3、5、

于 2012-09-01T10:32:24.443 回答