当前位置 博文首页 > 文章内容

    PHP数组学习之提取出数字元素拼接为一个新数组

    作者:shunshunshun18 栏目:未分类 时间:2021-08-27 10:47:15

    本站于2023年9月4日。收到“大连君*****咨询有限公司”通知
    说我们IIS7站长博客,有一篇博文用了他们的图片。
    要求我们给他们一张图片6000元。要不然法院告我们

    为避免不必要的麻烦,IIS7站长博客,全站内容图片下架、并积极应诉
    博文内容全部不再显示,请需要相关资讯的站长朋友到必应搜索。谢谢!

    另祝:版权碰瓷诈骗团伙,早日弃暗投明。

    相关新闻:借版权之名、行诈骗之实,周某因犯诈骗罪被判处有期徒刑十一年六个月

    叹!百花齐放的时代,渐行渐远!



    在之前的文章中我们介绍了数组去空去重,即删除数组中的空元素和重复元素的方法,感兴趣的可以点击链接进行查阅→《》。这次我们继续PHP数组的学习和练习,来聊聊怎么过滤数组,提取出数字元素。

    →相关

    今天本文的主要的内容是:利用PHP来过滤数组,筛选出数字元素(数值或数字字符串),然后将它们组合成一个新数组返回。

    下面我们给大家介绍两种实现方法,先从我们熟悉的方法“foreach循环”开始,然后介绍一种使用PHP内置函数过滤数组的方法。

    方法1: 利用foreach语句

    <?php 
    $array = array("php", 11, '', 12, "IIS7站长之家博文",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),输出结果为:

    1.png

    方法2:使用array_filter() 函数

    在之前的文章中,我们已经知道array_filter() 函数可以用回调函数来过滤数组中的元素,会将数组元素传递给回调函数进行处理。

    直接给出实现代码:

    <?php 
    $array = array("php", 11, '', 12, "IIS7站长之家博文",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);
    ?>

    输出结果为:

    2.png

    下面来了解一下array_filter() 函数

    array_filter() 函数会迭代数组中的每个值,将每个键值传递给用户定义的函数或回调函数;如果回调函数返回 true,则把输入数组中的当前键值返回给结果数组(数组键名保持不变)。语法格式为:

    array_filter ($array , function callbackfn ($value[, $key]),$mode)
    • $array :数组对象,不可省略。

    • function callbackfn ($value[, $key]):回调函数,可省略;如果省略回调函数,则默认过滤空值。

    • $mode:可省略,决定 callback 接收的参数形式:

      • ARRAY_FILTER_USE_KEY - callback 接受键名作为的唯一参数

      • ARRAY_FILTER_USE_BOTH - callback 同时接受键名和键值

      • 默认值为 0 ,只传递值作为 callback 回调的唯一参数。

    好了就说到这里了,有其他想知道的,可以点击这个哦。→ →

    最后给大家推荐一个PHP数组的免费视频教程:,快来学习吧!