-3

例えば:

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

一般的な要素、つまり 3,5 のみを出力として表示したい。

4

2 に答える 2

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 に答える
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 に答える