How can I remove ALL duplicates from an array in P

2020-02-28 03:14发布

问题:

First of all, I'd like to point out to all you duplicate question hunters that this question does not fully answer my question.

Now, I've got an array. We'll say that the array is array(1, 2, 2, 3, 4, 3, 2)

I need to remove the duplicates. Not just one of the duplicates, but all, so that the result will be array(1, 4)

I looked at array_unique(), but that will only result in array(1, 2, 3, 4)

Any ideas?

回答1:

You could use the combination of array_unique, array_diff_assoc and array_diff:

array_diff($arr, array_diff_assoc($arr, array_unique($arr)))


回答2:


function removeDuplicates($array) {
   $valueCount = array();
   foreach ($array as $value) {
      $valueCount[$value]++;
   }

   $return = array();
   foreach ($valueCount as $value => $count) {
      if ( $count == 1 ) {
         $return[] = $value;
      }
   }

   return $return;
}


标签: php arrays