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.ini中的php-5.2.0配置指令详解
Mar 27 PHP
数据库查询记录php 多行多列显示
Aug 15 PHP
php select,radio和checkbox默认选择的实现方法
May 15 PHP
《PHP编程最快明白》第六讲:Mysql数据库操作
Nov 01 PHP
探讨:php中在foreach中使用foreach ($arr as &$value) 这种类型的解释
Jun 24 PHP
Codeigniter注册登录代码示例
Jun 12 PHP
PHP PDO fetch 模式各种参数的输出结果一览
Jan 07 PHP
WordPress中重置文章循环的rewind_posts()函数讲解
Jan 11 PHP
PHP中include/require/include_once/require_once使用心得
Aug 28 PHP
ThinkPHP 模板引擎使用详解
May 07 PHP
PHP strripos函数用法总结
Feb 11 PHP
PHP实现的数据对象映射模式详解
Mar 20 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编程注意事项的小结
2013/04/27 PHP
php静态文件生成类实例分析
2015/01/03 PHP
js实现日历可获得指定日期周数及星期几示例分享(js获取星期几)
2014/03/14 Javascript
使用jquery prev()方法找到同级的前一个元素
2014/07/11 Javascript
纯JS打造网页中checkbox和radio的美化效果
2016/10/13 Javascript
JavaScript动态数量的文件上传控件
2016/11/18 Javascript
Bootstrap3多级下拉菜单
2017/02/24 Javascript
jQuery时间验证和转换为标准格式的时间格式
2017/03/06 Javascript
JS正则获取HTML元素的方法
2017/03/31 Javascript
js实现城市级联菜单的2种方法
2017/06/23 Javascript
Bootstrap modal只加载一次数据的解决办法(推荐)
2017/11/24 Javascript
使用Angular CLI进行Build(构建)和Serve详解
2018/03/24 Javascript
关于vue中的ajax请求和axios包问题
2018/04/19 Javascript
JavaScript变量提升和严格模式实例分析
2019/01/27 Javascript
在微信小程序中保存网络图片
2019/02/12 Javascript
javascript验证form表单数据的案例详解
2019/03/25 Javascript
详解vue-router的Import异步加载模块问题的解决方案
2020/05/13 Javascript
vue组件添加事件@click.native操作
2020/10/30 Javascript
JS如何实现在弹出窗口中加载页面
2020/12/03 Javascript
Jquery+javascript实现支付网页数字键盘
2020/12/21 jQuery
详解Python2.x中对Unicode编码的使用
2015/04/03 Python
Python正则表达式非贪婪、多行匹配功能示例
2017/08/08 Python
30秒轻松实现TensorFlow物体检测
2018/03/14 Python
详解用Pytest+Allure生成漂亮的HTML图形化测试报告
2020/03/31 Python
通过python调用adb命令对App进行性能测试方式
2020/04/23 Python
CSS3实现文字描边的2种方法(小结)
2020/02/14 HTML / CSS
HTML5微信播放全屏问题的解决方法
2017/03/09 HTML / CSS
英国领先的品牌珠宝和配件供应商:Acotis Jewellery
2018/03/07 全球购物
美国户外烹饪产品购物网站:Outdoor Cooking
2020/01/10 全球购物
Puccini乌克兰:购买行李箱、女士手袋网上商店
2020/08/06 全球购物
销售高级职员求职信
2013/10/29 职场文书
如何写一份好的自荐信
2014/01/02 职场文书
妇女儿童发展规划实施方案
2014/03/16 职场文书
2014年学生会工作总结
2014/11/07 职场文书
演讲比赛通讯稿
2015/07/18 职场文书
spring cloud eureka 服务启动失败的原因分析及解决方法
2022/03/17 Java/Android