检测重复值并删除重复的

时间:2015-07-14 14:36:23

标签: php

我遇到了删除重复值的问题:

首先,我使用以下代码检测到重复值:

<?php
  $array = array('blue','red','blue','yellow','blue');
  $vals = array_count_values($array);
  echo 'No. of NON Duplicate Items: '.count($vals).'';
  print_r($vals);
?>

输出将显示如下:

No. of NON Duplicate Items: 3
Array ( [blue] => 3 [red] => 1 [yellow] => 1 )

检测到蓝色有3个重复值,现在我想删除重复值并使其可读为如下数组:

'blue','red','yellow'

我该怎么办?我被困在这里,这是我的作业。

2 个答案:

答案 0 :(得分:0)

您可以使用array_unique对重复值进行排序:

$unique = array_unique($array);

你也可以使用你从array_count_values获得的结果:

$unique = array_keys($vals);

答案 1 :(得分:0)

function removeDuplicates($array){
  $tmp = array();

  foreach($array as $k => $v) {
    $tmp[$k] = $v->title;
  }

  $tmp = array_unique($tmp);
  foreach ($array as $k => $v) {
    if (!array_key_exists($k, $tmp)) {
      unset($array[$k]);
    }
  }
  return $array;
}

尝试此功能。