在之前的文章中我们介绍了数组去空去重,即删除数组中的空元素和重复元素的方法,感兴趣的可以点击链接进行查阅→《PHP数组学习之怎么去除空白或者重复的元素》。这次我们继续PHP数组的学习和练习,来聊聊怎么过滤数组,提取出数字元素。→相关推荐:《PHP数组学习系列大汇总(持续更新~)》
今天本文的主要的内容是:利用PHP来过滤数组,筛选出数字元素(数值或数字字符串),然后将它们组合成一个新数组返回。
下面我们给大家介绍两种实现方法,先从我们熟悉的方法“foreach循环”开始,然后介绍一种使用PHP内置函数过滤数组的方法。
方法1: 利用foreach语句
<?php
$array = array("php", 11, '', 12, "PHP中文网",13,"green",2021,"mysql","14",15);
foreach($array as $value){
if(is_numeric($value)){
$result[]=$value;
}
}
var_dump($result);
?>
分析代码:
使用foreach语句遍历数组,在每次循环中将键值赋给$value
;
利用is_numeric()
函数检测$value
是否为数字或数字字符串;
如果是数字或数字字符串,则将$value
存入$results
数组中。
这样$results数组中的全是$array数组中的数字元素,使用var_dump($result)
,输出结果为:
方法2:使用array_filter() 函数
在之前的文章中,我们已经知道array_filter() 函数可以用回调函数来过滤数组中的元素,会将数组元素传递给回调函数进行处理。
直接给出实现代码:
<?php
$array = array("php", 11, '', 12, "PHP中文网",13,"green",2021,"mysql","14",15);
function filter_number($value){
if(is_numeric($value)){
return TRUE;
}
}
$result=array_filter($array,"filter_number");
var_dump($result);
?>
输出结果为:
下面来了解一下array_filter() 函数
array_filter() 函数会迭代数组中的每个值,将每个键值传递给用户定义的函数或回调函数;如果回调函数返回 true,则把输入数组中的当前键值返回给结果数组(数组键名保持不变)。语法格式为:
array_filter ($array , function callbackfn ($value[, $key]),$mode)
好了就说到这里了,有其他想知道的,可以点击这个哦。→ →php视频教程
最后给大家推荐一个PHP数组的免费视频教程:PHP函数之array数组函数视频讲解,快来学习吧!
以上就是PHP数组学习之提取出数字元素拼接为一个新数组的详细内容,更多请关注模板之家(www.mb5.com.cn)其它相关文章!