如何从PHP数组中删除重复值?
当前回答
根据数组的大小,我发现
$array = array_values( array_flip( array_flip( $array ) ) );
可以比array_unique快。
其他回答
爆炸(”、“内爆”、“,array_unique(爆炸(”、“YOUR_ARRAY美元))));
这将负责键关联,并将生成的新数组的键序列化:-)
根据数组的大小,我发现
$array = array_values( array_flip( array_flip( $array ) ) );
可以比array_unique快。
<?php
$arr1 = [1,1,2,3,4,5,6,3,1,3,5,3,20];
print_r(arr_unique($arr1));
function arr_unique($arr) {
sort($arr);
$curr = $arr[0];
$uni_arr[] = $arr[0];
for($i=0; $i<count($arr);$i++){
if($curr != $arr[$i]) {
$uni_arr[] = $arr[$i];
$curr = $arr[$i];
}
}
return $uni_arr;
}
有多种方法可以做到这一点,如下所示
//first method
$filter = array_map("unserialize", array_unique(array_map("serialize", $arr)));
//second method
$array = array_unique($arr, SORT_REGULAR);
$result = array();
foreach ($array as $key => $value){
if(!in_array($value, $result))
$result[$key]=$value;
}