这篇文章主要介绍PHP数组中如何去除空白或者重复的元素,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
网站建设哪家好,找创新互联公司!专注于网页设计、网站建设、微信开发、小程序设计、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了孝南免费建站欢迎大家使用!
方法1、foreach循环 + empty() + unset()
实现思想:
利用foreach语句来遍历数组$array,在每次循环中将键名赋给$key,键值赋给$value
foreach($array as $key => $value){ }
在循环中,利用empty()函数来判断$value是否为空,如果为空则使用unset()删掉该元素
下面我们给出完整实现代码:
输出结果:
说明:在PHP中empty()函数用于检查一个变量是否被认为是空的。
当变量等于以下的值时empty()会认为是空的:
""(空字符串)
0(作为整数的0)
0.0(作为浮点数的0)
“0”(作为字符串的0)
NULL
FALSE
Array()(一个空数组)
$var (一个声明了,但是没有值得变量)
方法2、使用array_filter()函数进行过滤
array_filter() 函数可以用回调函数来过滤数组中的元素。该函数会迭代数组中的每个值,将它们传递给用户定义的函数或回调函数。如果省略回调函数,则默认过滤空值。(array_filter() 函数不会改变原数组)
输出结果:
可以看出:array_filter()在过滤数组元素时,不会重置索引。删除空元素后,还是按照原有的索引顺序。
那么如果想要重置索引,从0开始重新排序,要怎么操作?我们可以使用array_values()
函数。
var_dump(array_values($filtered_array));
是不是很简单!
上面我们了解了去除空元素的方法,下面我们看看怎么去除重复数组元素。
PHP数组删除重复数组不用借助其他方法,PHP直接就内置了一个函数来实现这个操作,大家知道是什么函数吗?
好了,不买关子了,就是array_unique()
函数。如果数组中有两个或更多个值相同,则array_unique()函数只保留第一个值,其他的值被移除。
输出结果:
array_unique()函数也不会重置键名(索引),被保留的数组将保持第一个数组项的键名类型。因此在使用array_unique()函数去除重复元素后,可以使用array_values()函数来重置索引。
var_dump(array_values($result));
其实我们还可以利用数组中不存在重复键名的特性来去除重复数组元素。
实现思想:先将键名和键值互换来移除重复值;然后在重新将键名和键值调换回来即可关键代码:
array_flip(array_flip($array))
以上是“PHP数组中如何去除空白或者重复的元素”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!