登录  /  注册

php用回调函数过滤数组中的元素的函数array_filter()

黄舟
发布: 2017-11-07 13:26:27
原创
1354人浏览过

实例

回调函数过滤数组中的元素:

<?php
function test_odd($var)
{
return($var & 1);
}

$a1=array("a","b",2,3,4);
print_r(array_filter($a1,"test_odd"));
?>
登录后复制

定义和用法

array_filter() 函数用回调函数过滤数组中的元素。

该函数把输入数组中的每个键值传给回调函数。如果回调函数返回 true,则把输入数组中的当前键值返回给结果数组。数组键名保持不变。

语法

array_filter(array,callbackfunction);
登录后复制
参数描述
array必需。规定要过滤的数组。
callbackfunction必需。规定要用的回调函数。

技术细节

返回值:返回过滤的数组。
PHP 版本:4.0.6+

今天在翻看手册查询array_filter()的使用细节时,看到了个小关键点:If no callback is supplied, all entries of input equal to FALSE (see converting to boolean) will be removed. 如果没有给出回调函数,所有的等于 FALSE 的元素将会被移除掉,这不正好可以用来过滤一些有空元素的数组吗?连忙写个例子测试一下想法:

$entry = array( 
             0 => &#39;蓝色夏威夷的博客&#39;, 
             1 => false, 
             2 => 1, 
             3 => null, 
             4 => &#39;&#39;, 
             5 => &#39;http://www.jb51.net&#39;, 
             6 => &#39;0&#39;,
             7 => array(),
             8 => 0
          );
$validarr = array_filter($entry);
print_r($validarr);
//输出结果:
Array
(
    [0] => 蓝色夏威夷的博客
    [2] => 1
    [5] => http://www.jb51.net
)
登录后复制

一些可以转化为布尔型FALSE的数组元素都被移除了,对我们想要得到一个有效的数组作了一个非常全面的过滤。

以上就是php用回调函数过滤数组中的元素的函数array_filter()的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号