Ds \ Vector::reduce()函數是PHP中的內置函數,可通過在回調函數中應用操作將向量減小為單個值。
用法:
mixed public Ds\Vector::reduce( $callback, $initial )
參數:該函數接受上述和以下描述的兩個參數:
- $callback:該參數具有包含對元素的操作和存儲進位的函數。此回調函數包含兩個參數,進位和值,其中進位是該函數返回的值,而值是當前迭代中元素的值。
- $initial:此參數保存進位的初始值,可以為NULL。
返回值:該函數返回回調函數返回的最終值。
以下示例程序旨在說明PHP中的Ds \ Vector::reduce()函數:
程序1:
<?php
// Declare new Vector
$vect = new \Ds\Vector([1, 2, 3, 4, 5]);
echo("Vector Elements\n");
print_r($vect);
// callback function with reduce function
echo("\nElement after performing operation\n");
var_dump($vect->reduce(function($carry, $element) {
return $carry + $element + 2;
}));
?>
輸出:
Vector Elements Ds\Vector Object ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 ) Element after performing operation int(25)
程序2:
<?php
// Declare new Vector
$vect = new \Ds\Vector([10, 20, 30, 40, 50]);
echo("Original vector elements\n");
print_r($vect);
$func_gfg = function($carry, $element) {
return $carry * $element;
};
echo("\nVector after reducing to single element\n");
// Use reduce() function
var_dump($vect->reduce($func_gfg, 10));
?>
輸出:
Original vector elements Ds\Vector Object ( [0] => 10 [1] => 20 [2] => 30 [3] => 40 [4] => 50 ) Vector after reducing to single element int(120000000)
參考: http://php.net/manual/en/ds-vector.reduce.php
相關用法
- PHP Ds\Map reduce()用法及代碼示例
- PHP Ds\Set reduce()用法及代碼示例
- PHP Ds\Deque reduce()用法及代碼示例
- PHP Ds\Sequence reduce()用法及代碼示例
- Javascript Array reduce()用法及代碼示例
- PHP tan( )用法及代碼示例
- CSS hsl()用法及代碼示例
- PHP exp()用法及代碼示例
- d3.js d3.max()用法及代碼示例
注:本文由純淨天空篩選整理自barykrg大神的英文原創作品 PHP | Ds\Vector reduce() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。