reduce() public method

reduce :: (b -> a -> b) -> b -> b
public reduce ( callable $function, mixed $accumulator ) : mixed
$function callable Binary function ($accumulator, $value)
$accumulator mixed Value to witch reduce
return mixed Same type as $accumulator
Example #1
0
/**
 * reduce :: Foldable t => (b -> a -> b) -> b -> t a -> b
 *
 * @param callable $callable Binary function ($accumulator, $value)
 * @param mixed $accumulator
 * @param Foldable $foldable
 *
 * @return mixed
 */
function reduce(callable $callable, $accumulator = null, Foldable $foldable = null)
{
    return call_user_func_array(curryN(3, function (callable $callable, $accumulator, Foldable $foldable) {
        return $foldable->reduce($callable, $accumulator);
    }), func_get_args());
}