Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1923136
  • 博文数量: 45
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 515
  • 用 户 组: 普通用户
  • 注册时间: 2019-08-05 16:22
文章分类

全部博文(45)

文章存档

2020年(4)

2019年(41)

我的朋友

分类: PHP

2019-10-18 09:14:43

array_reduce - 用回调函数迭代地将数组简化为单一的值
语法:
array_reduce ( array $array , callable $callback [, mixed $initial = NULL ] )

array_reduce() 将回调函数 callback 迭代地作用到 array 数组中的每一个单元中,从而将数组简化为单一的值。
参数 必需的 描述
array 输入的数组。
callback callback ( mixed $carry , mixed $item ) : mixed
  • carry - 携带上次迭代里的值; 如果本次迭代是第一次,那么这个值是 initial。
  • item - 携带了本次迭代的值。
initial 如果指定了可选参数 initial,该参数将在处理开始前使用,或者当处理结束,数组为空时的最后一个结果。
返回结果值。 initial 参数,array_reduce() 返回 NULL。

  1. <?php
  2. function sum($carry, $item)
  3. {
  4.         $carry += $item;
  5.         return $carry;
  6. }
  7. function product($carry, $item)
  8. {
  9.         $carry *= $item;
  10.         return $carry;
  11. }
  12. $a = array(1, 2, 3, 4, 5);
  13. $x = array();
  14. var_dump(array_reduce($a, "sum")); // int(15)
  15. echo '
    '
    ;
  16. var_dump(array_reduce($a, "product", 10)); // int(1200), because: 10*1*2*3*4*5
  17. echo '
    '
    ;
  18. var_dump(array_reduce($x, "sum", "No data to reduce")); // string(17) "No data to reduce"
  19. ?>
 - 用回调函数过滤数组中的单元
 - 为数组的每个元素应用回调函数
 - 统计数组中所有的值




阅读(120446) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~