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的cms
Dec 19 PHP
用php实现选择排序的解决方法
May 04 PHP
浅析Dos下运行php.exe,出现没有找到php_mbstring.dll 错误的解决方法
Jun 29 PHP
php绘制一条弧线的方法
Jan 24 PHP
php实现paypal 授权登录
May 28 PHP
WordPress中转义HTML与过滤链接的相关PHP函数使用解析
Dec 22 PHP
php处理带有中文URL的方法
Jul 11 PHP
PHP设计模式之工厂模式与单例模式
Sep 28 PHP
PHP获取input输入框中的值去数据库比较显示出来
Nov 16 PHP
详解配置 Apache 服务器支持 PHP 文件的解析
Feb 15 PHP
基于ThinkPHP5.0实现图片上传插件
Sep 25 PHP
PHP进阶学习之类的自动加载机制原理分析
Jun 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中Ctype函数用法详解
2014/12/09 PHP
PHP给文字内容中的关键字进行套红处理
2016/04/12 PHP
Smarty高级应用之缓存操作技巧分析
2016/05/14 PHP
基于jquery的jqDnR拖拽溢出的修改
2011/02/12 Javascript
纯js网页画板(Graphics)类简介及实现代码
2012/12/24 Javascript
jquery弹出关闭遮罩层实例
2013/08/06 Javascript
JS常用正则表达式总结
2013/11/12 Javascript
jQuery给元素添加样式的方法详解
2015/12/30 Javascript
JavaScript中通过提示框跳转页面的方法
2016/02/14 Javascript
jQuery模拟select实现下拉菜单功能
2016/06/20 Javascript
js删除Array数组中指定元素的两种方法
2016/08/03 Javascript
AngularJS入门教程之Cookies读写操作示例
2016/11/02 Javascript
简单实现js选项卡切换效果
2017/02/09 Javascript
微信小程序使用Promise简化回调
2018/02/06 Javascript
angular2 ng2-file-upload上传示例代码
2018/08/23 Javascript
vue使用better-scroll实现下拉刷新、上拉加载
2018/11/23 Javascript
vue实现图片预览组件封装与使用
2019/07/13 Javascript
ElementUI之Message功能拓展详解
2019/10/18 Javascript
Vue2.X和Vue3.0数据响应原理变化的区别
2019/11/07 Javascript
JS实现打砖块游戏
2020/02/14 Javascript
vue通过v-html指令渲染的富文本无法修改样式的解决方案
2020/05/20 Javascript
[57:12]完美世界DOTA2联赛循环赛 Inki vs Matador BO2第一场 10.31
2020/11/02 DOTA
Python获取远程文件大小的函数代码分享
2014/05/13 Python
python使用心得之获得github代码库列表
2014/06/25 Python
Python中__init__和__new__的区别详解
2014/07/09 Python
python通过cookie模拟已登录状态的初步研究
2016/11/09 Python
python 表达式和语句及for、while循环练习实例
2017/07/07 Python
python图像和办公文档处理总结
2019/05/28 Python
自然健康的概念:Natural Healthy Concepts
2020/01/26 全球购物
数控专业毕业生求职信范文
2013/09/21 职场文书
军训自我鉴定
2014/01/22 职场文书
缓刑人员思想汇报500字
2014/09/12 职场文书
民主评议党员工作总结
2014/10/20 职场文书
2015年艾滋病宣传活动总结
2015/03/27 职场文书
通知书大全
2015/04/27 职场文书
西游记读书笔记
2015/06/25 职场文书