arrayutils
  • Home
  • 📖How to use?
    • âš¡Installation
  • 📖Methods
    • âš¡Static method
      • static from()
      • static of()
      • static mapToArray()
    • âš¡Generic method
      • join()
      • every()
      • some()
      • reduce()
        • reduceRight()
      • sum()
      • pop()
      • shift()
      • includes()
      • keyExists()
      • indexOf()
      • find()
        • findIndex()
      • first()
        • keyFirst()
      • last()
        • keyLast()
      • random()
        • keyRandom()
      • splice()
    • âš¡Chain method
      • chunk()
      • column()
      • combine()
      • concat()
        • concatSoft()
      • countValues()
      • diff()
        • diffAssoc()
        • diffKey()
      • fill()
        • fillKeys()
      • filter()
      • flat()
        • flatMap()
      • flip()
      • forEach()
      • intersect()
        • intersectAssoc()
        • intersectKey()
      • keys()
      • map()
        • mapAssoc()
        • mapKey()
      • pad()
      • push()
      • replace()
      • reverse()
      • slice()
      • sort()
        • sortKey()
      • unique()
      • unshift()
      • values()
  • 📖Suffixes
    • âš¡Suffix - From
    • âš¡Suffix - As
  • links
    • 📌Github repo
    • 📌Packagist project
    • 📌Poggit project
Powered by GitBook
On this page
  • Syntax
  • Parameter
  • Return value
  • Prefixing
  • References
  1. 📖Methods
  2. ⚡Generic method
  3. reduce()

reduceRight()

The reduceRight() method all similar to reduce(), but It works in reverse order.

Example.php
<?php use kim\present\utils\arrays\ArrayUtils;

$arrayUtils = ArrayUtils::from(range(1, 10));

//This is like a 10 factorial
$arrayUtils->reduceRight(function($accumulator, $value){ return $accumulator * $value; }, 1);
// expected output: 3628800



$arrayUtils->reduceRight(
    function($accumulator, $value){
        echo  "$accumulator * $value = " . ($accumulator * $value) . PHP_EOL;
        return $accumulator * $value; }, 1));
//echo 1 * 10 = 10
//echo 10 * 9 = 90
//echo 90 * 8 = 720
//echo 720 * 7 = 5040
//echo 5040 * 6 = 30240
//echo 30240 * 5 = 151200
//echo 151200 * 4 = 604800
//echo 604800 * 3 = 1814400
//echo 1814400 * 2 = 3628800
//echo 3628800 * 1 = 3628800
//expected output: 3628800

Syntax

$arrayUtils->reduceRight(callable $callback, mixed $initialValue = null) : mixed;

Parameter

  • $callback

    A function that produces an element of the new Array, taking four arguments:

    • $accumulatorThe accumulator accumulates callback's return values. It is the accumulated value previously returned in the last invocation of the callback—or $initialValue, if it was supplied (see below).

    • $value The current element being processed in the array.

    • $key The index of the current element being processed in the array.

    • $array The array every was called upon.

    • A value to use as the first argument to the first call of the callback.

Return value

  • The result value.

Prefixing

ArrayUtils::reduceRightFrom(iterable $from, callable $callback, mixed $initialValue = null) : mixed;

References

Previousreduce()Nextsum()

Last updated 4 years ago

$initialValue

reduce()
Array.prototype.reduceRight() - JavaScript | MDN
Logo