我们在之前的文章中了解了分割一维数组,将一维数组分割成包含指定个数元素二维数组的方法,感兴趣的可以点击链接进行查阅→《PHP数组学习之将一维数组变成包含指定多元素的二维数组》。这次我们进行PHP数组的学习和练习,聊聊在数组中怎么去空和去重。
→相关推荐:《PHP数组学习系列大汇总(持续更新~)》
今天本文的主要内容是删除数组中的空元素和重复元素。
首先我们来看看怎么删除数组中的空元素?这里我会介绍两种方法。
方法1、foreach循环 + empty() + unset()
实现思想:
利用foreach语句来遍历数组$array,在每次循环中将键名赋给$key,键值赋给$value
foreach($array as $key => $value){ }
在循环中,利用empty()函数来判断$value是否为空,如果为空则使用unset()删掉该元素
下面我们给出完整实现代码:
<?php header("content-type:text/html;charset=utf-8"); $array = array("php", 11, '', 12, "PHP中文网", '',2021,"mysql"); var_dump($array); // 使用array_filter()函数从数组中移除空元素 $filtered_array = array_filter($array); echo "删除空元素后的数组"; var_dump($filtered_array); ?>
输出结果:
说明:在PHP中empty()函数用于检查一个变量是否被认为是空的。
当变量等于以下的值时empty()会认为是空的:
""(空字符串)
0(作为整数的0)
0.0(作为浮点数的0)
“0”(作为字符串的0)
NULL
FALSE
Array()(一个空数组)
$var (一个声明了,但是没有值得变量)
方法2、使用array_filter()函数进行过滤
array_filter() 函数可以用回调函数来过滤数组中的元素。该函数会迭代数组中的每个值,将它们传递给用户定义的函数或回调函数。如果省略回调函数,则默认过滤空值。(array_filter() 函数不会改变原数组)
<?php header("content-type:text/html;charset=utf-8"); $array = array("php", 11, '', 12, "PHP中文网", '',2021,"mysql",""); var_dump($array); // 使用array_filter()函数从数组中移除空元素 $filtered_array = array_filter($array); echo "删除空元素后的数组"; var_dump($filtered_array); ?>
输出结果:
可以看出:array_filter()在过滤数组元素时,不会重置索引。删除空元素后,还是按照原有的索引顺序。
那么如果想要重置索引,从0开始重新排序,要怎么操作?我们可以使用array_values()
函数。
var_dump(array_values($filtered_array));
是不是很简单!
上面我们了解了去除空元素的方法,下面我们看看怎么去除重复数组元素。
PHP数组删除重复数组不用借助其他方法,PHP直接就内置了一个函数来实现这个操作,大家知道是什么函数吗?
好了,不买关子了,就是array_unique()
函数。如果数组中有两个或更多个值相同,则array_unique()函数只保留第一个值,其他的值被移除。
<?php header("content-type:text/html;charset=utf-8"); $array = array("php", 11, '', 11, "PHP中文网",'',"green",2021,"mysql","","green"); var_dump($array); $result = array_unique($array); echo "删除重复元素后的数组"; //var_dump(array_values($filtered_array)); var_dump($result); ?>
输出结果:
array_unique()函数也不会重置键名(索引),被保留的数组将保持第一个数组项的键名类型。因此在使用array_unique()函数去除重复元素后,可以使用array_values()函数来重置索引。
var_dump(array_values($result));
其实我们还可以利用数组中不存在重复键名的特性来去除重复数组元素。
实现思想:先将键名和键值互换来移除重复值;然后在重新将键名和键值调换回来即可(推荐阅读《PHP数组学习之怎么将键名key和值的位置进行互换》)。关键代码:
array_flip(array_flip($array))
好了就说到这里了,有其他想知道的,可以点击这个哦。→ →php视频教程
最后给大家推荐一个PHP数组的免费视频教程:PHP函数之array数组函数视频讲解,快来学习吧!
以上是PHP数组学习之怎么去除空白或者重复的元素的详细内容。更多信息请关注PHP中文网其他相关文章!

本文比较了酸和基本数据库模型,详细介绍了它们的特征和适当的用例。酸优先确定数据完整性和一致性,适合财务和电子商务应用程序,而基础则侧重于可用性和

本文讨论了确保PHP文件上传的确保,以防止诸如代码注入之类的漏洞。它专注于文件类型验证,安全存储和错误处理以增强应用程序安全性。

本文讨论了在PHP中实施API速率限制的策略,包括诸如令牌桶和漏水桶等算法,以及使用Symfony/Rate-limimiter之类的库。它还涵盖监视,动态调整速率限制和手

本文讨论了使用password_hash和pyspasswify在PHP中使用密码的好处。主要论点是,这些功能通过自动盐,强大的哈希算法和SECH来增强密码保护

本文讨论了OWASP在PHP和缓解策略中的十大漏洞。关键问题包括注射,验证损坏和XSS,并提供用于监视和保护PHP应用程序的推荐工具。


热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

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

热门文章

热工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

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

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具