PHP从Array返回重复值

时间:2015-04-21 05:02:56

标签: php arrays multidimensional-array arraylist

我有多个重复值的数组。现在我想得到那些重复的值。

           $roQ = Array
           (
    [0] => 2123 
    [1] => 2094 
    [2] => 2105 
    [3] => 2160 
    [4] => 2143 
    [5] => 2148 
    [6] => 2154 
    [7] => 2155
    [8] => 2145
    [9] => 2123 
    [10] => 2149
     [11] => 2143 
     [12] => 2145

       )

我尝试使用不起作用的代码。它返回不正确的结果。        如何获取新数组中的所有重复值。

   $c = array_count_values($roQ); 
       $val = array_search(max($c), $c);
      $azq[] = $val;

3 个答案:

答案 0 :(得分:0)

尝试 -

$arr = array(1, 4, 6, 1, 8, 9, 4, 6);

$unique = array_unique($arr);

$duplicates = array_diff_assoc($arr, $unique);

var_dump($duplicates);

答案 1 :(得分:0)

$roQ = Array
           (
    [0] => 2123 
    [1] => 2094 
    [2] => 2105 
    [3] => 2160 
    [4] => 2143 
    [5] => 2148 
    [6] => 2154 
    [7] => 2155
    [8] => 2145
    [9] => 2123 
    [10] => 2149
     [11] => 2143 
     [12] => 2145

       )

for($i=0; $i<= count($roQ), $i++){

  if(!in_array($roQ[$i],$arr){

     $unique_value[] = $roQ[$i]; 

  }else {

     $dublicate_array[]=$roQ[$i]

  }

   array_push($arr, $req[$i]);

}

答案 2 :(得分:0)

尝试使用此代码,它会在数组中显示重复的元素。

$array = array(
            0 => 2123,
            1 => 2094,
            2 => 2105,
            3 => 2160,
            4 => 2143,
            5 => 2148,
            6 => 2154,
            7 => 2155,
            8 => 2145,
            9 => 2123,
            10 => 2149,
            11 => 2143,
            12 => 2145

        );
        $arrayNew = array_count_values($array);
        $finalArr = array ();
        $i=0;
        foreach ($arrayNew as $key => $Array_new){
            if($Array_new>1){

                 $finalArr[$i]  = $key;
                 $i++;
            }
       }
        echo "<pre>";
        print_r($finalArr);
        exit;
    }