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 相关文章推荐
php公用函数列表[正则]
Feb 22 PHP
PHP 开源AJAX框架14种
Aug 24 PHP
解析argc argv在php中的应用
Jun 24 PHP
PHP中is_file()函数使用指南
May 08 PHP
百度工程师讲PHP函数的实现原理及性能分析(二)
May 13 PHP
详解PHP错误日志的获取方法
Jul 20 PHP
详解PHP的Yii框架的运行机制及其路由功能
Mar 17 PHP
浅析Yii2 GridView 日期格式化并实现日期可搜索教程
Apr 22 PHP
PHP长连接实现与使用方法详解
Feb 11 PHP
PHP获取文件扩展名的常用方法小结【五种方式】
Apr 27 PHP
通过PHP的Wrapper无缝迁移原有项目到新服务的实现方法
Apr 02 PHP
PHP扩展类型及安装方式解析
Apr 27 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中目录,文件操作详谈
2007/03/19 PHP
PHP操作XML作为数据库的类
2010/12/19 PHP
php目录操作实例代码
2014/02/21 PHP
php实现保存submit内容之后禁止刷新
2014/03/19 PHP
PHP连接和操作MySQL数据库基础教程
2014/09/29 PHP
动态加载iframe
2006/06/16 Javascript
不一样的文字闪烁 轮番闪烁
2009/11/11 Javascript
jQuery表单美化插件jqTransform使用详解
2015/04/12 Javascript
js实现ctrl+v粘贴上传图片(兼容chrome、firefox、ie11)
2016/03/09 Javascript
JavaScript 函数的执行过程
2016/05/09 Javascript
AngularJS动态菜单操作指令
2017/04/25 Javascript
浅析JS中常用类型转换及运算符表达式
2017/07/23 Javascript
Bootstrap Table快速完美搭建后台管理系统
2017/09/20 Javascript
Bootstrap实现翻页效果
2017/11/27 Javascript
vue使用Element组件时v-for循环里的表单项验证方法
2018/06/28 Javascript
浅析vue-router原理
2018/10/19 Javascript
JS实现判断移动端PC端功能
2020/02/21 Javascript
Python里disconnect UDP套接字的方法
2015/04/23 Python
Windows下为Python安装Matplotlib模块
2015/11/06 Python
Python实现优先级队列结构的方法详解
2016/06/02 Python
python解决字符串倒序输出的问题
2018/06/25 Python
python中单下划线_的常见用法总结
2018/07/10 Python
实例讲解Python中整数的最大值输出
2019/03/17 Python
pyqt5 禁止窗口最大化和禁止窗口拉伸的方法
2019/06/18 Python
python set集合使用方法解析
2019/11/05 Python
Python numpy数组转置与轴变换
2019/11/15 Python
python 线性回归分析模型检验标准--拟合优度详解
2020/02/24 Python
django 实现简单的插入视频
2020/04/07 Python
python使用Windows的wmic命令监控文件运行状况,如有异常发送邮件报警
2021/01/30 Python
CSS3的Flexbox布局的简明入门指南
2016/04/08 HTML / CSS
德国圣伯纳德草药屋:Kräuterhaus Sanct Bernhard(有中文站)
2018/08/05 全球购物
产品质量保证书
2014/04/29 职场文书
仓管员岗位职责
2015/02/03 职场文书
2015年度培训工作总结范文
2015/04/02 职场文书
HTML+CSS+JS实现图片的瀑布流布局的示例代码
2021/04/22 HTML / CSS
简单聊聊TypeScript只读修饰符
2022/04/06 Javascript