如何从PHP数组中删除重复值?


当前回答

如果你关心性能并且数组很简单,可以使用:

array_keys(array_flip($array));

它比array_unique快很多倍。

其他回答

爆炸(”、“内爆”、“,array_unique(爆炸(”、“YOUR_ARRAY美元))));

这将负责键关联,并将生成的新数组的键序列化:-)

$arrDuplicate = array ("","",1,3,"",5);
 foreach(array_unique($arrDuplicate) as $v){
  if($v != "" ){$arrRemoved = $v;  }}
print_r($arrRemoved);

我们可以创建这样的数组来使用,最后一个值将被更新为列值或键值,我们将从数组中获得唯一的值…

$array = array (1,3,4,2,1,7,4,9,7,5,9);
    $data=array();
    foreach($array as $value ){

        $data[$value]= $value;

    }

    array_keys($data);
    OR
    array_values($data);

我们可以很容易地使用arar_unique ($array);删除重复的元素 但是这个方法的问题是元素的索引不是按顺序的,如果以后在其他地方使用会引起问题。

Use

$arr = array_unique($arr);
$arr = array_values($arr);
print_r($arr);

Or

$arr = array_flip($arr);
$arr = array_flip($arr);
$arr = array_values($arr);
print_r($arr);

第一次翻转,翻转键值对,从而将具有相似键(即最初的值)的元素组合在一起。

第二次翻转还原所有键值对。最后,array_value()设置每个值的key从0开始。

注意:不能用于具有预定义键值对的关联数组

如果你关心性能并且数组很简单,可以使用:

array_keys(array_flip($array));

它比array_unique快很多倍。