array_reduce()使用
2015-12-31 17:29
232 查看
这个函数的作用是,把数组中的值循环放到回调函数里处理,结果返回一个单一的值。(applies iteratively the
这个函数需要两个必须参数和一个可选参数。第一个参数是要操作的数组,第二个是回调函数,第三个是初始值(可选)。
举个例子,比如
这个的运行结果:
NULL int(1)
int(1) int(2)
int(3) int(3)
int(6) int(4)
int(10)
以上表示,回调函数的第一个参数,可以hold住每次循环后的回调执行结果,以供下次循环使用(第一次执行的时候,这个参数取的是array_reduce()的第三个参数:初始值,没有就是null)。第二个参数就是每次循环的数组的值。
最后的结果就返回了single value,就是10~
再来看一个w3c的例子。
这个的返回结果是:-Dog-Cat-Horse
注意字符串前边有个中划线。如果你认真看了第一个例子的说明,这个就不难理解了。
因为array_reduce()没有初始值传入,所以第一次循环时,$v1是null,所以第一次hold住的值就是"-Dog";这下明白了吧哈哈~
callbackfunction to the elements of the
array, so as to reduce the array to a single value.)
这个函数需要两个必须参数和一个可选参数。第一个参数是要操作的数组,第二个是回调函数,第三个是初始值(可选)。
举个例子,比如
function sum($carry, $item) { var_dump($carry); var_dump($item); echo '<br/>'; $carry += $item; return $carry; } $a = array( 'a' => 1, 'b' => 2, 'c' => 3, '53' => 4, ); var_dump(array_reduce($a, "sum") );
这个的运行结果:
NULL int(1)
int(1) int(2)
int(3) int(3)
int(6) int(4)
int(10)
以上表示,回调函数的第一个参数,可以hold住每次循环后的回调执行结果,以供下次循环使用(第一次执行的时候,这个参数取的是array_reduce()的第三个参数:初始值,没有就是null)。第二个参数就是每次循环的数组的值。
最后的结果就返回了single value,就是10~
再来看一个w3c的例子。
function joinstring($v1,$v2) { return $v1 . "-" . $v2; } $a=array("Dog","Cat","Horse"); print_r(array_reduce($a,"joinstring"));
这个的返回结果是:-Dog-Cat-Horse
注意字符串前边有个中划线。如果你认真看了第一个例子的说明,这个就不难理解了。
因为array_reduce()没有初始值传入,所以第一次循环时,$v1是null,所以第一次hold住的值就是"-Dog";这下明白了吧哈哈~
相关文章推荐
- 多个电脑共用一套鼠标键盘synergy
- JVM学习笔记(一)------基本结构
- 新年程序员福利(多图)
- 大数据修炼高手之路
- springMVC dubbo zookeeper整合
- android studio系列之各种快捷方式
- Java基础-学习笔记(一)
- 从几个sample来学习Java堆,方法区,Java栈和本地方法栈
- 老李推荐:第8章7节《MonkeyRunner源码剖析》MonkeyRunner启动运行过程-小结
- CMake编译opencv
- iOS用URL调用系统短信、电话、邮件
- android sdcard存储方案三(基于fuse文件系统):
- Paiting Series 1: Part 2
- 【经典工具】:如何通过程序获得系统时间
- My 2016
- Android基础之Activity
- js日期比较
- 老李推荐:第8章6节《MonkeyRunner源码剖析》MonkeyRunner启动运行过程-启动Monkey 4
- [LeetCode][JavaScript]Balanced Binary Tree
- Veeam Backup & Replication 8 安装配置