• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP数组学习之怎么去除空白或者重复的元素

php 搞代码 4年前 (2022-01-04) 18次浏览 已收录 0个评论

我们在之前的文章中了解了分割一维数组,将一维数组分割成包含指定个数元素二维数组的方法,感兴趣的可以点击链接进行查阅→《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, "<a href="http://www.gaodaima.com">搞代码</a>", '',2021,"mysql"); 
var_dump($array);       
 
// 使用array_filter(<em style="color:transparent">来源gao.dai.ma.com搞@代*码网</em>)函数从数组中移除空元素
$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, "<a href="http://www.gaodaima.com">搞代码</a>", '',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));

是不是很简单!

上面我们了解了去除空元素的方法,下面我们看看怎么去除重复数组元素


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP数组学习之怎么去除空白或者重复的元素

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址