php数组去掉重复值的方法汇总
php数组去掉重复值的方法:1、利用遍历查询来删除重复数组元素;2、使用php内置函数“array_unique”删除数组中的重复值;3、使用“array_flip”实现去重效果。
php数组去掉重复值的方法汇总
几种php删除数组元素方法在很多情况下我们的数组会出现重复情况,那我们删除数组中一些重复的内容怎么办,这些元素必须保持他唯一,所以就想办法来删除它们,下面利用了遍历查询来删除重复数组元素的几种方法。
推荐:《PHP教程》
方法一、完整删除重复数组实例-----删除数组中的一个元素
function array_remove_value(&$arr, $var){ foreach ($arr as $key => $value) { if (is_array($value)) { array_remove_value($arr[$key], $var); } else { $value = trim($value); if ($value == $var) { unset($arr[$key]); } else { $arr[$key] = $value; } } } }
$a是一个数组:
count($a); //得到4 unset($a[1]); //删除第二个元素 count($a); //得到3 echo $a[2]; //数组中仅有三个元素,本想得到最后一个元素,但却得到blue, echo $a[1]; //无值 ?>
也就是说在删除数组中的元素后,数组中的元素个数(用count()得到)变了,但数组下标却没有重新排列,还必须用删除数组前的key来操作相应的值。
后来我采用另一种方法,其实根本就不叫"方法",是用php4现成的函数array_splice()。
count ($a); //得到4 array_splice($a,1,1); //删除第二个元素 count ($a); //得到3 echo $a[2]; //得到yellow echo $a[1]; //得到blue ?>
方法二、删除数组中重复元素的函数
function delmember(&$array, $id) { $size = count($array); for($i = 0; $i <$size - $id - 1; $i ++) { $array[$id + $i] = $array[$id + $i + 1]; } unset($array[$size - 1]); }
补充小例子:
方法一、php有内置函数array_unique可以用来删除数组中的重复值
array_unique -- 移除数组中重复的值
array_unique说明
array array_unique ( array array )
array_unique() 接受 array 作为输入并返回没有重复值的新数组
注意键名保留不变。array_unique() 先将值作为字符串排序,然后对每个值只保留第一个遇到的键名,接着忽略所有后面的键名。这并不意味着在未排序的 array 中同一个值的第一个出现的键名会被保留。
注: 当且仅当 (string) $elem1 === (string) $elem2 时两个单元被认为相同。就是说,当字符串的表达一样时。
第一个单元将被保留。
例子:array_unique()
<?php $input = array("a" => "green", "red", "b" => "green", "blue", "red"); $result = array_unique($input); print_r($result); ?>
上例将输出:
Array ( [a] => green [0] => red [1] => blue )
方法二、array_flip实现去重效果
另一个方法是使用php的array_flip函数来间接的实现去重效果
array_flip是反转数组键和值的函数,它有个特性就是如果数组中有二个值是一样的,那么反转后会保留最后一个键和值,利用这个特性我们用他来间接的实现数组的去重.
<?php $arr = array("a"=>"a1","b"=>'b1',"c"=>"a2","d"=>"a1"); $arr1 = array_flip($arr); print_r($arr1);//先反转一次,去掉重复值,输出Array ( [a1] => d [b1] => b [a2] => c ) $arr2 = array_flip($arr); print_r($arr2);//再反转回来,得到去重后的数组,输出Array ( [a1] => d [b1] => b [a2] => c ) $arr3 = array_unique($arr); print_r($arr3);//利用php的array_unique函数去重,输出Array ( [a] => a1 [b] => b1 [c] => a2 ) ?>
二种方法不同的是用array_flip得到的是重复元素最后的键和值,用array_unique得到的是二个重复元素第一个键和值。
以上是php数组去掉重复值的方法汇总的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

如何使用PHP数组实现图表和统计图的生成和显示PHP是一种广泛使用的服务器端脚本语言,具有强大的数据处理和图形生成能力。在Web开发中,经常需要展示数据的图表和统计图,通过PHP数组,我们可以轻松实现这些功能。本文将介绍如何使用PHP数组生成和显示图表和统计图,并提供相关的代码示例。引入必要的库文件和样式表在开始之前,我们需要在PHP文件中引入一些必要的库文

如何使用PHP数组生成动态幻灯片和图片展示幻灯片和图片展示是网页设计中常见的功能,常被应用于轮播图、图库展示等场景。而PHP作为一种流行的服务器端脚本语言,具备处理数据和生成动态HTML页面的能力,非常适合用于生成动态幻灯片和图片展示。本文将介绍如何使用PHP数组生成动态幻灯片和图片展示,并给出相应的代码示例。准备图片数据首先,我们需要准备一组图片的路径数据

php数组求平均值的函数有:1、array_sum(),用于计算数组中所有值的总和,为了计算平均值,可以将数组中的所有值相加,然后除以数组元素的个数;2、array_reduce(),用于迭代数组并将每个值与一个初始值进行计算;3、array_mean(),用于返回数组的平均值,先计算数组的总和,并计算数组元素的个数,将总和除以数组元素的个数,即得到平均值。

如何使用PHP数组实现用户登录和权限管理的功能在开发网站时,用户登录和权限管理是非常重要的功能之一。通过用户登录,我们可以验证用户身份并保护网站的安全性。而权限管理则能够控制用户在网站中的操作权限,确保用户只能访问他们被授权的功能。在本文中,我们将介绍如何使用PHP数组来实现用户登录和权限管理的功能。我们将使用一个简单的示例来演示这个过程。首先,我们需要创建

PHP数组是一种非常常见的数据结构,在开发过程中经常会用到。然而,随着数据量的增加,数组的性能可能会成为一个问题。本文将探讨一些PHP数组的性能优化技巧,并提供具体的代码示例。1.使用合适的数据结构在PHP中,除了普通数组外,还有一些其他数据结构,如SplFixedArray、SplDoublyLinkedList等,它们在特定情况下可能比普通数组性能更好

php数组键值对是一种数据结构,由一个键和一个相应的值组成,键是数组元素的标识符,而值是与键相关联的数据。允许我们以键为标识来存储和访问数据,通过使用键值对,可以更方便地操作和管理数组中的元素,使得程序开发更加灵活和高效。

php数组二维转一维数组的方法:1、使用循环遍历,使用循环遍历二维数组,将每个元素添加到一维数组中;2、使用“array_merge”函数,可以将多个数组合并为一个数组,将二维数组当做参数传递给“array_merge”函数,将其转换为一维数组;3、使用“array_reduce”函数,可以将数组中的所有值通过一个回调函数来进行处理,并最后返回一个结果。

php判断数组有几个的方法:1、使用count()函数,适用于所有类型的数组。但是需要注意的是,如果传入的参数不是一个数组,count()函数会返回0;2、使用sizeof()函数,更多用于保持与其他编程语言的兼容性;3、自定义函数,通过使用循环遍历数组,每遍历一次,计数器加1,最终得到数组的长度。自定义函数可以根据实际需要进行修改和扩展,更加灵活。
