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 更新数据库中断的解决方法
Jun 05 PHP
php 操作excel文件的方法小结
Dec 31 PHP
PHP 金额数字转换成英文
May 06 PHP
MySQL的FIND_IN_SET函数使用方法分享
Mar 27 PHP
PHP代码优化的53个细节
Mar 03 PHP
php实现的RSS生成类实例
Apr 23 PHP
Yii2 rbac权限控制操作步骤实例教程
Apr 29 PHP
php自定义函数实现二维数组排序功能
Jul 20 PHP
ThinkPHP中调用PHPExcel的实现代码
Apr 08 PHP
PHP使用PDO访问oracle数据库的步骤详解
Sep 29 PHP
php往mysql中批量插入数据实例教程
Dec 12 PHP
PHP-FPM和Nginx的通信机制详解
Feb 01 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
初识laravel5
2015/03/02 PHP
php cli模式下获取参数的方法
2017/05/05 PHP
js中关于new Object时传参的一些细节分析
2011/03/13 Javascript
js中parseFloat(参数1,参数2)定义和用法及注意事项
2013/01/27 Javascript
jquery中$(#form :input)与$(#form input)的区别
2014/08/18 Javascript
JavaScript实现的双向跨域插件分享
2015/01/31 Javascript
vue + socket.io实现一个简易聊天室示例代码
2017/03/06 Javascript
Vue中保存用户登录状态实例代码
2017/06/07 Javascript
完美解决手机浏览器顶部下拉出现网页源或刷新的问题
2017/11/30 Javascript
JavaScript如何对图片进行黑白化
2018/04/10 Javascript
NodeJS安装图文教程
2018/04/19 NodeJs
NodeJS读取分析Nginx错误日志的方法
2019/05/14 NodeJs
layer提示框添加多个按钮选择的实例
2019/09/12 Javascript
vue实现点击按钮“查看详情”弹窗展示详情列表操作
2020/09/09 Javascript
vant中的toast层级改变操作
2020/11/04 Javascript
使用vue编写h5公众号跳转小程序的实现代码
2020/11/27 Vue.js
Vue+Bootstrap实现简易学生管理系统
2021/02/09 Vue.js
[05:00]第二届DOTA2亚洲邀请赛主赛事第三天比赛集锦.mp4
2017/04/04 DOTA
python中合并两个文本文件并按照姓名首字母排序的例子
2014/04/25 Python
Python解析excel文件存入sqlite数据库的方法
2016/11/15 Python
python实现隐马尔科夫模型HMM
2018/03/25 Python
Python高级编程之消息队列(Queue)与进程池(Pool)实例详解
2019/11/01 Python
如何基于Python实现电子邮件的发送
2019/12/16 Python
Python正则表达式高级使用方法汇总
2020/06/18 Python
Python利用matplotlib绘制折线图的新手教程
2020/11/05 Python
python 实现控制鼠标键盘
2020/11/27 Python
ProBikeKit新西兰:自行车套件,跑步和铁人三项装备
2017/04/05 全球购物
DogBuddy荷兰:找到你最完美的狗保姆
2019/04/17 全球购物
澳大利亚窗帘商店:Curtain Wonderland
2019/12/01 全球购物
旅游管理本科生求职信
2013/10/14 职场文书
八项规定对照检查材料
2014/08/31 职场文书
2014年社团工作总结范文
2014/11/27 职场文书
党章党规党纪学习心得体会
2016/01/14 职场文书
十二月早安励志心语大全
2019/12/03 职场文书
导游词之重庆渣滓洞
2020/01/08 职场文书
Python中zipfile压缩包模块的使用
2021/05/14 Python