热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

php数组重复值销毁,如何从PHP中删除数组中的重复值

如何从PHP中删除数组中的重复值如何从PHP中删除数组中的重复值?21个解决方案204votes使用array_unique()。例:$arrayarr

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

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

21个解决方案

204 votes

使用array_unique()。

例:

$array = array(1, 2, 2, 3);

$array = array_unique($array); // Array is now (1, 2, 3)

Jeremy Ruten answered 2019-05-30T16:42:42Z

21 votes

//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 )

chim answered 2019-05-30T16:42:59Z

15 votes

使用array_unique

array_unique:用于唯一数组array_values:用于重建索引

nimey sara thomas answered 2019-05-30T16:43:32Z

5 votes

有时array_unique()不是这样的,如果你想获得独特的和重复的项目......

$unique=array("","A1","","A2","","A1","");

$duplicated=array();

foreach($unique as $k=>$v) {

if( ($kt=array_search($v,$unique))!==false and $k!=$kt )

{ unset($unique[$kt]); $duplicated[]=$v; }

}

sort($unique); // optional

sort($duplicated); // optional

结果

array ( 0 => '', 1 => 'A1', 2 => 'A2', ) /* $unique */

array ( 0 => '', 1 => '', 2 => '', 3 => 'A1', ) /* $duplicated */

AgelessEssence answered 2019-05-30T16:44:04Z

4 votes

唯一对我有用的是:

$array = array_unique($array, SORT_REGULAR);

niravpatel9898 answered 2019-05-30T16:44:29Z

4 votes

$result = array();

foreach ($array as $key => $value){

if(!in_array($value, $result))

$result[$key]=$value;

}

Amr Berag answered 2019-05-30T16:44:48Z

2 votes

explode(",", implode(",", array_unique(explode(",", $YOUR_ARRAY))));

这将处理关键关联并序列化生成的新数组的键:-)

Deb answered 2019-05-30T16:45:22Z

2 votes

我们可以创建这种类型的数组来使用这个最后的值将更新为列或键值,我们将从数组中获取唯一值...

$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);

harsh kumar answered 2019-05-30T16:45:49Z

1 votes

这是一个很好的方法。 可能要确保其输出再次返回数组。 现在,您只显示最后一个唯一值。

试试这个:

$arrDuplicate = array ("","",1,3,"",5);

foreach (array_unique($arrDuplicate) as $v){

if($v != "") { $arrRemoved[] = $v; }

}

print_r ($arrRemoved);

Dries B answered 2019-05-30T16:46:16Z

1 votes

我发现,根据你的阵列的大小

$array = array_values( array_flip( array_flip( $array ) ) );

可以比array_unique更快。

Bollis answered 2019-05-30T16:46:49Z

1 votes

if (@!in_array($classified->category,$arr)){

$arr[] = $classified->category;

?>

第一次检查数组中的值并找到相同的值忽略它

Alpesh Navadiya answered 2019-05-30T16:47:16Z

1 votes

从PHP中的关联数组中删除重复值。

$arrDup = Array ('0' => 'aaa-aaa' , 'SKU' => 'aaa-aaa' , '1' => '12/1/1' , 'date' => '12/1/1' , '2' => '1.15' , 'cost' => '1.15' );

foreach($arrDup as $k => $v){

if(!( isset ($hold[$v])))

$hold[$v]=1;

else

unset($arrDup[$k]);

}

数组([0] => aaa-aaa [1] => 12/1/1 [2] => 1.15)

Shivivanand answered 2019-05-30T16:47:48Z

0 votes

$arrDuplicate = array ("","",1,3,"",5);

foreach(array_unique($arrDuplicate) as $v){

if($v != "" ){$arrRemoved = $v; }}

print_r($arrRemoved);

user1045247 answered 2019-05-30T16:48:06Z

0 votes

function arrayUnique($myArray)

{

$newArray = Array();

if (is_array($myArray))

{

foreach($myArray as $key=>$val)

{

if (is_array($val))

{

$val2 = arrayUnique($val);

}

else

{

$val2 = $val;

$newArray=array_unique($myArray);

$newArray=deleteEmpty($newArray);

break;

}

if (!empty($val2))

{

$newArray[$key] = $val2;

}

}

}

return ($newArray);

}

function deleteEmpty($myArray)

{

$retArray= Array();

foreach($myArray as $key=>$val)

{

if (($key<>"") && ($val<>""))

{

$retArray[$key] &#61; $val;

}

}

return $retArray;

}

Vineesh Kalarickal answered 2019-05-30T16:48:25Z

0 votes

试试这个简短的&#xff06;amp; 甜蜜的代码 -

$array &#61; array (1,4,2,1,7,4,9,7,5,9);

$unique &#61; array();

foreach($array as $v){

isset($k[$v]) || ($k[$v]&#61;1) && $unique[] &#61; $v;

}

var_dump($unique);

输出 -

array(6) {

[0]&#61;>

int(1)

[1]&#61;>

int(4)

[2]&#61;>

int(2)

[3]&#61;>

int(7)

[4]&#61;>

int(9)

[5]&#61;>

int(5)

}

Rohit Suthar answered 2019-05-30T16:48:53Z

0 votes

$arr1 &#61; [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 &#61; $arr[0];

$uni_arr[] &#61; $arr[0];

for($i&#61;0; $i

if($curr !&#61; $arr[$i]) {

$uni_arr[] &#61; $arr[$i];

$curr &#61; $arr[$i];

}

}

return $uni_arr;

}

sumityadavbadli answered 2019-05-30T16:49:11Z

0 votes

有多种方法可以做到这些&#xff0c;如下所示

//first method

$filter &#61; array_map("unserialize", array_unique(array_map("serialize", $arr)));

//second method

$array &#61; array_unique($arr, SORT_REGULAR);

Shahrukh Anwar answered 2019-05-30T16:49:36Z

0 votes

如果您关注性能并且具有简单的数组&#xff0c;请使用&#xff1a;

array_keys(array_flip($array));

它比array_unique快很多倍。

jabko87 answered 2019-05-30T16:50:09Z

0 votes

在这里&#xff0c;我创建了第二个空数组&#xff0c;并使用for循环与第一个具有重复的数组。 它将运行与第一个数组的计数一样多的时间。 然后与具有第一个数组的数组的位置进行比较&#xff0c;并通过使用in_array匹配它已经或不具有此项目。如果没有&#xff0c;那么它将使用array_push将该项添加到第二个数组。

$a &#61; array(1,2,3,1,3,4,5);

$count &#61; count($a);

$b &#61; [];

for($i&#61;0; $i

if(!in_array($a[$i], $b)){

array_push($b, $a[$i]);

}

}

print_r ($b);

Aladin Banwal answered 2019-05-30T16:50:36Z

0 votes

它可以通过函数完成我做了三个函数重复返回数组中重复的值。

第二个函数single只返回那些单个均值不在数组中重复的值&#xff0c;第三个和完整函数返回所有值但如果任何值重复则不重复它将其转换为单个;

function duplicate($arr) {

$duplicate;

$count &#61; array_count_values($arr);

foreach($arr as $key &#61;> $value) {

if ($count[$value] > 1) {

$duplicate[$value] &#61; $value;

}

}

return $duplicate;

}

function single($arr) {

$single;

$count &#61; array_count_values($arr);

foreach($arr as $key &#61;> $value) {

if ($count[$value] &#61;&#61; 1) {

$single[$value] &#61; $value;

}

}

return $single;

}

function full($arr, $arry) {

$full &#61; $arr &#43; $arry;

sort($full);

return $full;

}

Mirza Obaid answered 2019-05-30T16:51:09Z

-1 votes

我没有使用任何功能就这样做了。

$arr &#61; array("1", "2", "3", "4", "5", "4", "2", "1");

$len &#61; count($arr);

for ($i &#61; 0; $i <$len; $i&#43;&#43;) {

$temp &#61; $arr[$i];

$j &#61; $i;

for ($k &#61; 0; $k <$len; $k&#43;&#43;) {

if ($k !&#61; $j) {

if ($temp &#61;&#61; $arr[$k]) {

echo $temp."
";

$arr[$k]&#61;" ";

}

}

}

}

for ($i &#61; 0; $i <$len; $i&#43;&#43;) {

echo $arr[$i] . "
";

}

Ashishdmc4 answered 2019-05-30T16:51:34Z



推荐阅读
  • 本文详细介绍了 Spark 中的弹性分布式数据集(RDD)及其常见的操作方法,包括 union、intersection、cartesian、subtract、join、cogroup 等转换操作,以及 count、collect、reduce、take、foreach、first、saveAsTextFile 等行动操作。 ... [详细]
  • 管理UINavigationController中的手势返回 - Managing Swipe Back Gestures in UINavigationController
    本文介绍了如何在一个简单的闪存卡片应用中实现平滑的手势返回功能,以增强用户体验。 ... [详细]
  • 本文节选自《NLTK基础教程——用NLTK和Python库构建机器学习应用》一书的第1章第1.2节,作者Nitin Hardeniya。本文将带领读者快速了解Python的基础知识,为后续的机器学习应用打下坚实的基础。 ... [详细]
  • 本文介绍如何使用JavaScript中的for循环来创建一个九九乘法表,适合初学者学习循环结构的应用。 ... [详细]
  • 汇编语言:编程世界的始祖,连C语言都敬畏三分!
    当C语言还在萌芽阶段时,它首次接触到了汇编语言,并对其简洁性感到震惊。尽管汇编语言的指令极其简单,但它却是所有现代编程语言的基础,其重要性不言而喻。 ... [详细]
  • 原文地址:https:blog.csdn.netqq_35361471articledetails84715491原文地址:https:blog.cs ... [详细]
  • 本文将深入探讨 Unreal Engine 4 (UE4) 中的距离场技术,包括其原理、实现细节以及在渲染中的应用。距离场技术在现代游戏引擎中用于提高光照和阴影的效果,尤其是在处理复杂几何形状时。文章将结合具体代码示例,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 本打算教一步步实现koa-router,因为要解释的太多了,所以先简化成mini版本,从实现部分功能到阅读源码,希望能让你好理解一些。希望你之前有读过koa源码,没有的话,给你链接 ... [详细]
  • web页面报表js下载,web报表软件 ... [详细]
  • 本文介绍了 Oracle SQL 中的集合运算、子查询、数据处理、表的创建与管理等内容。包括查询部门号为10和20的员工信息、使用集合运算、子查询的注意事项、数据插入与删除、表的创建与修改等。 ... [详细]
  • 一个转子曲线面积问题及其反问题的解答
    曾经解答过这样一个问题,从该ID的最后一次登录时间、该ID显示的专业信息,误以为是新闻里某个想不开的同学,不安了一阵子。经确认是我多虑了,不过把问题答案还是写出来。之后就收到一堆要求帮忙算 ... [详细]
  • python模块之正则
    re模块可以读懂你写的正则表达式根据你写的表达式去执行任务用re去操作正则正则表达式使用一些规则来检测一些字符串是否符合个人要求,从一段字符串中找到符合要求的内容。在 ... [详细]
  • MySQL初级篇——字符串、日期时间、流程控制函数的相关应用
    文章目录:1.字符串函数2.日期时间函数2.1获取日期时间2.2日期与时间戳的转换2.3获取年月日、时分秒、星期数、天数等函数2.4时间和秒钟的转换2. ... [详细]
  • 本文探讨了一种统一的语义数据模型,旨在支持物联网、建筑及企业环境下的数据转换。该模型强调简洁性和可扩展性,以促进不同行业间的插件化和互操作性。对于智能硬件开发者而言,这一模型提供了重要的参考价值。 ... [详细]
  • 本题要求实现一个高效的算法,在一个 m x n 的矩阵中搜索目标值 target。该矩阵具有以下特性:每行的元素从左到右按升序排列,每列的元素从上到下按升序排列。 ... [详细]
author-avatar
fionafongkaian
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有