forked from a64f7bb4-7358-4778-9fbe-3b882c34cc1d/v1
29 lines
974 B
PHP
29 lines
974 B
PHP
<?php declare(strict_types=1);
|
|
/**
|
|
* This file is part of the Phootwork package.
|
|
* For the full copyright and license information, please view the LICENSE
|
|
* file that was distributed with this source code.
|
|
*
|
|
* @license MIT License
|
|
* @copyright Thomas Gossmann
|
|
*/
|
|
namespace phootwork\lang\parts;
|
|
|
|
trait ReducePart {
|
|
/**
|
|
* Iterative reduction of this array or collection with the help of a callback function. The callback
|
|
* function takes two parameters, the first is the carry, the second the current item, with this
|
|
* signature: mixed callback(mixed $carry, mixed $item)
|
|
*
|
|
* @param callable $callback the callback function
|
|
* @param mixed $fallback the default value, that will be returned when the list is empty
|
|
*
|
|
* @return mixed
|
|
*
|
|
* @psalm-suppress MixedArgumentTypeCoercion $callback is a callback
|
|
*/
|
|
public function reduce(callable $callback, mixed $fallback = null): mixed {
|
|
return array_reduce($this->array, $callback, $fallback);
|
|
}
|
|
}
|