如何从PHP数组中删除重复值?
当前回答
$array = array("a" => "moon", "star", "b" => "moon", "star", "sky");
// Deleting the duplicate items
$result = array_unique($array);
print_r($result);
参考:演示
其他回答
//Find duplicates
$arr = array(
'unique',
'duplicate',
'distinct',
'justone',
'three3',
'duplicate',
'three3',
'three3',
'onlyone'
);
$unique = array_unique($arr);
$dupes = array_diff_key( $arr, $unique );
// array( 5=>'duplicate', 6=>'three3' 7=>'three3' )
// count duplicates
array_count_values($dupes); // array( 'duplicate'=>1, 'three3'=>2 )
使用元素(array_unique(数组)美元);
Array_unique:用于唯一数组 Array_values:用于索引
我没有使用任何函数。
$arr = array("1", "2", "3", "4", "5", "4", "2", "1");
$len = count($arr);
for ($i = 0; $i < $len; $i++) {
$temp = $arr[$i];
$j = $i;
for ($k = 0; $k < $len; $k++) {
if ($k != $j) {
if ($temp == $arr[$k]) {
echo $temp."<br>";
$arr[$k]=" ";
}
}
}
}
for ($i = 0; $i < $len; $i++) {
echo $arr[$i] . " <br><br>";
}
如果你关心性能并且数组很简单,可以使用:
array_keys(array_flip($array));
它比array_unique快很多倍。
试试这个简短而甜蜜的代码-
$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)
}
推荐文章
- 如何从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而不是函数或简单的公共字段有什么优点?