如何从PHP数组中删除重复值?
当前回答
<?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;
}
其他回答
$result = array();
foreach ($array as $key => $value){
if(!in_array($value, $result))
$result[$key]=$value;
}
<?php
$a=array("1"=>"302","2"=>"302","3"=>"276","4"=>"301","5"=>"302");
print_r(array_values(array_unique($a)));
?>//`output -> Array ( [0] => 302 [1] => 276 [2] => 301 )`
试试这个简短而甜蜜的代码-
$array = array (1,4,2,1,7,4,9,7,5,9);
$unique = array();
foreach($array as $v){
isset($k[$v]) || ($k[$v]=1) && $unique[] = $v;
}
var_dump($unique);
输出-
array(6) {
[0]=>
int(1)
[1]=>
int(4)
[2]=>
int(2)
[3]=>
int(7)
[4]=>
int(9)
[5]=>
int(5)
}
使用array_unique()。
例子:
$array = array(1, 2, 2, 3);
$array = array_unique($array); // Array is now (1, 2, 3)
这是一个很好的方法。可能要确保它的输出又回到一个数组。现在只显示最后一个唯一值。
试试这个:
$arrDuplicate = array ("","",1,3,"",5);
foreach (array_unique($arrDuplicate) as $v){
if($v != "") { $arrRemoved[] = $v; }
}
print_r ($arrRemoved);
推荐文章
- 如何从PHP数组中删除重复的值
- JavaScript: .forEach()和.map()的区别
- 使用PHP获取客户端IP地址
- 在Javascript/jQuery中创建两个数字之间的所有整数数组,包括
- 获取PHP中的URL参数
- 致命错误:类“ZipArchive”未在
- 设置cookie永不过期
- 为什么数组的地址等于它在C语言中的值?
- '<是什么?=' PHP中的意思?
- PHP中的echo和print有什么不同?
- 我如何使用可选的链接与数组和函数?
- 我如何使用Guzzle发送一个POST请求JSON?
- Angular ng-repeat反过来
- 如何POST JSON数据与PHP卷曲?
- 在PHP中使用getter和setter而不是函数或简单的公共字段有什么优点?