如何从PHP中删除数组中的所有重复项?

时间:2010-09-11 14:38:24

标签: php arrays

首先,我想指出那些this question没有完全回答我的问题的问题猎人。

现在,我有一个阵列。我们会说数组是array(1, 2, 2, 3, 4, 3, 2)

我需要删除重复项。不只是其中一个重复,而是所有,因此结果将是array(1, 4)

我查看了array_unique(),但这只会导致array(1, 2, 3, 4)

有什么想法吗?

2 个答案:

答案 0 :(得分:13)

您可以使用array_uniquearray_diff_assocarray_diff的组合:

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

答案 1 :(得分:7)


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;
}