首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Ds\Deque::reduce

(PECL ds >= 1.0.0)

Ds \ Deque :: reduce - 使用回调函数将deque减少为单个值。

描述

代码语言:javascript
复制
public mixed Ds\Deque::reduce ( callable $callback [, mixed $initial ] )

使用回调函数将deque减少为单个值。

参数

callback

代码语言:javascript
复制
mixed callback ( mixed $carry , mixed $value )

carry

前一个回调的返回值,或者initial它是第一次迭代。

value

当前迭代的值。

代码语言:txt
复制
 `initial`   

进位值的初始值。可以NULL

返回值

最终回调的返回值。

例子

示例#1使用初始值示例Ds \ Deque :: reduce()

代码语言:javascript
复制
<?php
$deque?=?new?\Ds\Deque([1,?2,?3]);

$callback?=?function($carry,?$value)?{
????return?$carry?*?$value;
};

var_dump($deque->reduce($callback,?5));

//?Iterations:
//
//?$carry?=?$initial?=?5
//
//?$carry?=?$carry?*?1?=??5
//?$carry?=?$carry?*?2?=?10
//?$carry?=?$carry?*?3?=?30
?>

上面的例子会输出类似于:

代码语言:javascript
复制
int(30)

示例#2 Ds \ Deque :: reduce()没有初始值示例

代码语言:javascript
复制
<?php
$deque?=?new?\Ds\Deque([1,?2,?3]);

var_dump($deque->reduce(function($carry,?$value)?{
????return?$carry?+?$value?+?5;
}));

//?Iterations:
//
//?$carry?=?$initial?=?null
//
//?$carry?=?$carry?+?1?+?5?=??6
//?$carry?=?$carry?+?2?+?5?=?13
//?$carry?=?$carry?+?3?+?5?=?21
?>

上面的例子会输出类似于:

代码语言:javascript
复制
int(21)

← Ds\Deque::push

Ds\Deque::remove →

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com