PHP array_reduce()函数的应用解析


Posted in PHP onOctober 28, 2018

实例

向用户自定义函数发送数组中的值,并返回一个字符串:

<?php
function myfunction($v1,$v2)
{
return $v1 . "-" . $v2;
}
$a=array("Dog","Cat","Horse");
print_r(array_reduce($a,"myfunction"));
?>

 定义和用法

array_reduce() 函数向用户自定义函数发送数组中的值,并返回一个字符串。

注释:如果数组是空的且未传递 initial 参数,该函数返回 NULL。

说明

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

如果指定第三个参数,则该参数将被当成是数组中的第一个值来处理,或者如果数组为空的话就作为最终返回值。

下面给大家介绍下PHP array_reduce()的应用,具体内容如下所述:

array_reduce($array,$callback($carry,$item),$initial)用回调函数迭代计算数组元素,并返回最终结果。$carry携带上次迭代的值,如果是本次迭代的第一次,那么这个值是$initial。如果指定了$initial的值,该参数在处理开始前使用,或者处理结束后,被处理的数组为空时,返回此值。

<?php
function func1($x,$y){
  $y += $x;
  return $y;
}
$arr1 = array(1,2,3,4,5,6);
$return1 = array_reduce($arr1,"func1");
echo $return1;

结果:21

function func2($x,$y){
  echo $x.' == '.$y."<br>";
  $y *= $x;
  return $y;
}
$arr2 = array(1,2,3,4);
$return2 = array_reduce($arr2,"func2");
echo $return2;

输出过程:

== 1
0 == 2
0 == 3
0 == 4

最终结果:0

$return2 = array_reduce($arr2,"func2",1);
echo $return2;

输出过程:

1 == 1
1 == 2
2 == 3
6 == 4

最终结果:24

$return3 = array_reduce(array(),"func1",'no data');
echo $return3;

输出:'no data'

总结

以上所述是小编给大家介绍的PHP array_reduce()函数的应用解析,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

PHP 相关文章推荐
php实现自动获取生成文章主题关键词功能的深入分析
Jun 03 PHP
浅析PHP绘图技术
Jul 03 PHP
析构函数与php的垃圾回收机制详解
Oct 28 PHP
PHP中执行cmd命令的方法
Oct 11 PHP
跨浏览器PHP下载文件名中的中文乱码问题解决方法
Mar 05 PHP
PHP中file_get_contents函数抓取https地址出错的解决方法(两种方法)
Sep 22 PHP
在Yii2中使用Pjax导致Yii2内联脚本载入失败的原因分析
Mar 06 PHP
PHP函数nl2br()与自定义函数nl2p()换行用法分析
Apr 02 PHP
thinkPHP自动验证、自动添加及表单错误问题分析
Oct 17 PHP
PC端微信扫码支付成功之后自动跳转php版代码
Jul 07 PHP
PHP memcache在微信公众平台的应用方法示例
Sep 13 PHP
php关联数组与索引数组及其显示方法
Mar 12 PHP
php 中phar包的使用教程详解
Oct 26 #PHP
Linux基于php-fpm模式的lamp搭建phpmyadmin的方法
Oct 25 #PHP
phpstudy2018升级MySQL5.5为5.7教程(图文)
Oct 24 #PHP
实例解析php的数据类型
Oct 24 #PHP
网站被恶意镜像怎么办 php一段代码轻松搞定(全面版)
Oct 23 #PHP
PHP中使用mpdf 导出PDF文件的实现方法
Oct 22 #PHP
php微信公众号开发之答题连闯三关
Oct 20 #PHP
You might like
php中执行系统命令的方法
2015/03/21 PHP
浅谈PHP接收POST数据方式
2015/06/05 PHP
农历与西历对照
2006/09/06 Javascript
javascript StringBuilder类实现
2008/12/22 Javascript
基于JQuery的类似新浪微博展示信息效果的代码
2012/07/23 Javascript
xml转json的js代码
2012/08/28 Javascript
jQuery中slice()方法用法实例
2015/01/07 Javascript
jQuery实现的输入框选择时间插件用法实例
2015/02/28 Javascript
jQuery中animate的几种用法与注意事项
2016/12/12 Javascript
Vue如何实现组件的源码解析
2017/06/08 Javascript
详解从新建vue项目到引入组件Element的方法
2017/08/29 Javascript
使用ajax的post同步执行(实现方法)
2017/12/21 Javascript
详解key在Vue列表渲染时究竟起到了什么作用
2019/04/20 Javascript
微信小程序全局变量改变监听的实现方法
2019/07/15 Javascript
python正则分析nginx的访问日志
2017/01/17 Python
详解python字节码
2018/02/07 Python
详解Python核心对象类型字符串
2018/02/11 Python
python实现读取大文件并逐行写入另外一个文件
2018/04/19 Python
解决pycharm无法调用pip安装的包问题
2018/05/18 Python
python 直接赋值和copy的区别详解
2019/08/07 Python
关于Python 中的时间处理包datetime和arrow的方法详解
2020/03/19 Python
Python flask框架端口失效解决方案
2020/06/04 Python
Python如何用wx模块创建文本编辑器
2020/06/07 Python
简述python Scrapy框架
2020/08/17 Python
HTML5响应式(自适应)网页设计的实现
2017/11/17 HTML / CSS
德国高性价比网上药店:medpex
2017/07/09 全球购物
编写用C语言实现的求n阶阶乘问题的递归算法
2014/10/21 面试题
测控技术与通信工程毕业生自荐信范文
2013/12/28 职场文书
2014年纪检部工作总结
2014/11/12 职场文书
2014幼儿教师个人工作总结
2014/12/03 职场文书
2014年路政工作总结
2014/12/10 职场文书
五好文明家庭事迹材料
2014/12/20 职场文书
2016社区平安家庭事迹材料
2016/02/26 职场文书
神州牡丹园的导游词
2019/11/20 职场文书
正则表达式拆分url实例代码
2022/02/24 Java/Android
MySQL存储过程及语法详解
2022/08/05 MySQL