博主信息
博文 29
粉丝 0
评论 0
访问量 33224
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
使用array_filter()、array_walk()、array_map() 三个回调函数来处理数组
LIWEN的博客
原创
904人浏览过
<?php
/**
 * 使用回调函数来处理数组
 */
header('Content-Type:text/html; charset=UTF-8');
//1、array_filter($arr,function(){})函数:将每个值取出,传入回调函数,进行处理,返回结果为true的元素
$array = [1,0,4,18,'',2,2,6,18,33,'',null];

echo '<pre>';
//1.1 用于处理掉数组中的空元素/0元素/null元素
$res1 = array_filter($array,function ($value){
    return $value;
});
print_r($res1);
//1.2 用于删除指定的值,如删除数组中等于2的元素,并将键值重置(使用array_values()函数重置键值)
$res2 = array_filter($array,function ($val){
    if ($val == 2){
        return false;
    }else{
        return $val;
    }
});
print_r(array_values($res2));

//2、array_walk($arr,function($value,$key){})函数:将每个键值对出入到回调函数中处理,返回处理结果为true的元素
//2.1 用于为每个值添加后缀
$suffix = 'www.php.cn';
array_walk($array,function ($value,$key,$suffix){
    echo $key.'=>'.$value.$suffix.'<br>';
},$suffix);
//2.2 用于过滤掉数组中符合条件的元素,并将结果中的键值对格式化输出
$connector = '----';
array_walk($array,function ($value,$key,$connector){
    if ($value == 2){
        return false;
    }else{
        echo $key.$connector.$value.'<br>';
    }
},$connector);

//3、array_map(function($val1[,$val2...]){},$arr1[,$arr2,$arr3...])函数:对一个或多个数组进行回调处理
//3.1 处理单数组
$age = [13,45,15,55,32];
$res3 = array_map(function ($value){
    if ($value<18){
        return '<span style="color: red">未成年</span>';
    }else{
        return $value;
    }
},$age);
print_r($res3);
// 3.2 处理双数组
$key = ['id','name','email','sex'];
$value =['1001','kiki','kiki@php,cn','female'];
//过滤敏感元素sex,并拼接两个数组
$res4 = array_map(function ($key,$value){
    if ($key != 'sex'){
        return $key.'---'.$value.'<br>';
    }else{
        return false;
    }
},$key,$value);
print_r(array_filter(array_values($res4)));


本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

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

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学