php回调函数处理数组操作示例


Posted in PHP onApril 13, 2020

本文实例讲述了php回调函数处理数组操作。分享给大家供大家参考,具体如下:

array_reduce— 用回调函数迭代地将数组简化为单一的值

mixed array_reduce ( array $array , callable $callback [, mixed $initial = NULL ] )

  • callback【mixed callback ( mixed $carry , mixed $item ) carry--携带上次迭代里的值; 如果本次迭代是第一次,那么这个值是 initial。item --携带了本次迭代的值。】
  • initial【如果指定了可选参数 initial,该参数将在处理开始前使用,或者当处理结束,数组为空时的最后一个结果。】

例:

$res = [
 '0' => [
 'a' => 'you',
 'b' => 'me'
 ],
 '1' => [
 'c' => 'li',
 'd' => 'op'
 ]
];
$res = array_reduce($res,function($result,$value) {
 return array_merge($result,array_values($value));
},array());
var_dump($res);

输出:

array(4) {
  [0]=>
  string(3) "you"
  [1]=>
  string(2) "me"
  [2]=>
  string(2) "li"
  [3]=>
  string(2) "op"
}

array_filter — 用回调函数过滤数组中的单元

array array_filter ( array $array [, callable $callback [, int $flag = 0 ]] )    返回过滤后的数组。

  • array--要循环的数组
  • callback--使用的回调函数,如果没有提供 callback 函数, 将删除 array 中所有等值为 FALSE 的条目。
  • flag--决定callback接收的参数形式:
    • ARRAY_FILTER_USE_KEY - callback接受键名作为的唯一参数
    • ARRAY_FILTER_USE_BOTH - callback同时接受键名和键值

例:

function odd($var)
{
  // returns whether the input integer is odd
  return($var & 1);
}
 
function even($var)
{
  // returns whether the input integer is even
  return(!($var & 1));
}
 
$array1 = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
$array2 = array(6, 7, 8, 9, 10, 11, 12);
 
echo "Odd :\n";
print_r(array_filter($array1, "odd"));//1,3,5
echo "Even:\n";
print_r(array_filter($array2, "even"));//2,4,6

array_map — 为数组的每个元素应用回调函数

array_map ( callable $callback , array $array1 [, array $... ] )

参数

  • callback--回调函数,应用到每个数组里的每个元素。
  • array1--数组,遍历运行 callback 函数。

...

数组列表,每个都遍历运行 callback 函数。

返回值----返回数组,包含 callback 函数处理之后 array1 的所有元素。

例:

function cube($n)
{
  return($n * $n * $n);
}
$a = array(1, 2, 3, 4, 5);
$b = array_map("cube", $a);
print_r($b);

输出:

Array
(
    [0] => 1
    [1] => 8
    [2] => 27
    [3] => 64
    [4] => 125
)

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
Get或Post提交值的非法数据处理
Oct 09 PHP
php heredoc和phpwind的模板技术使用方法小结
Mar 28 PHP
处理php自动反斜杠的函数代码
Jan 05 PHP
php注销代码(session注销)
May 31 PHP
php 备份数据库代码(生成word,excel,json,xml,sql)
Jun 23 PHP
PHP引用符&的用法详细解析
Aug 22 PHP
php二维数组用键名分组相加实例函数
Nov 06 PHP
php中smarty区域循环的方法
Jun 11 PHP
基于php的CMS中展示文章类实例分析
Jun 18 PHP
PHP实现搜索地理位置及计算两点地理位置间距离的实例
Jan 08 PHP
在Laravel5.6中使用Swoole的协程数据库查询
Jun 15 PHP
PHP 8新特性简介
Aug 18 PHP
yii2.0框架数据库操作简单示例【添加,修改,删除,查询,打印等】
Apr 13 #PHP
laravel使用数据库测试注意事项
Apr 10 #PHP
为你的 Laravel 验证器加上多验证场景的实现
Apr 07 #PHP
再谈Yii Framework框架中的事件event原理与应用
Apr 07 #PHP
Yii框架组件的事件机制原理与用法分析
Apr 07 #PHP
Yii框架多语言站点配置方法分析【中文/英文切换站点】
Apr 07 #PHP
php设计模式之适配器模式实例分析【星际争霸游戏案例】
Apr 07 #PHP
You might like
PHP 日志缩略名的创建函数代码
2010/05/26 PHP
php实例分享之通过递归实现删除目录下的所有文件详解
2014/05/15 PHP
PHP使用Nginx实现反向代理
2017/09/20 PHP
详解PHP字符串替换str_replace()函数四种用法
2017/10/13 PHP
js jq 单击和双击区分示例介绍
2013/11/05 Javascript
Jquery对select的增、删、改、查操作
2015/02/06 Javascript
JQuery悬停控制图片轮播——代码简单
2015/08/05 Javascript
详解JavaScript中数组和字符串的lastIndexOf()方法使用
2016/03/13 Javascript
Bootstrap模态对话框的简单使用
2016/04/29 Javascript
深入浅析search 搜索框的写法
2016/08/02 Javascript
使用Angular.js开发的注意事项
2016/10/19 Javascript
Bootstrap Table使用心得总结
2016/11/29 Javascript
通过AngularJS实现图片上传及缩略图展示示例
2017/01/03 Javascript
Angular4 ElementRef的应用
2018/02/26 Javascript
在layui中layer弹出层点击事件无效的解决方法
2019/09/05 Javascript
jQuery擦除插件eraser使用方法详解
2020/01/11 jQuery
vue实现购物车的监听
2020/04/20 Javascript
js实现自定义滚动条的示例
2020/10/27 Javascript
JavaScript实现音乐导航效果
2020/11/19 Javascript
jQuery实现查看图片功能
2020/12/01 jQuery
JS实现选项卡插件的两种写法(jQuery和class)
2020/12/30 jQuery
[01:24:51]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS NewBee第二场
2014/05/26 DOTA
[09:34]2018DOTA2国际邀请赛寻真——永不放弃的iG
2018/08/14 DOTA
centos下更新Python版本的步骤
2013/02/12 Python
Python的Flask框架中@app.route的用法教程
2015/03/31 Python
python通过自定义isnumber函数判断字符串是否为数字的方法
2015/04/23 Python
Python内置函数delattr的具体用法
2017/11/23 Python
pygame游戏之旅 载入小车图片、更新窗口
2018/11/20 Python
Python利用requests模块下载图片实例代码
2019/08/12 Python
python识别验证码的思路及解决方案
2020/09/13 Python
h5页面唤起app如果没安装就跳转下载(iOS和Android)
2020/06/03 HTML / CSS
Perricone MD裴礼康美国官网:抗衰老护肤品
2016/09/26 全球购物
个人安全生产承诺书
2014/05/22 职场文书
优秀共青团员事迹材料
2014/12/25 职场文书
党员自我评价2015
2015/03/03 职场文书
Python快速优雅的批量修改Word文档样式
2021/05/20 Python