當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


PHP Ds\Vector reduce()用法及代碼示例


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



相關用法


注:本文由純淨天空篩選整理自barykrg大神的英文原創作品 PHP | Ds\Vector reduce() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。