(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)
array_reduce — コールバック関数を繰り返し配列に適用し、配列をひとつの値にまとめる
array_reduce() は、配列 array
の各要素に callback
関数を繰り返し適用し、
配列をひとつの値にまとめます。
array
入力の配列。
callback
carry
前回の反復処理の結果を保持します。最初の反復処理のときには、
initial
の値を保持しています。
item
現在の反復処理の値を保持します。
initial
オプションの intial
が利用可能な場合、処理の最初で使用されたり、
配列が空の場合の最終結果として使用されます。
結果の値を返します。
配列が空で initial
が渡されなかった場合は、
array_reduce() は null
を返します。
バージョン | 説明 |
---|---|
8.0.0 |
callback がリファレンス渡しされる引数を期待している場合、
この関数は E_WARNING を発生させるようになりました。
|
例1 array_reduce() の例
<?php
function sum($carry, $item)
{
$carry += $item;
return $carry;
}
function product($carry, $item)
{
$carry *= $item;
return $carry;
}
$a = array(1, 2, 3, 4, 5);
$x = array();
var_dump(array_reduce($a, "sum")); // int(15)
var_dump(array_reduce($a, "product", 10)); // int(1200), because: 10*1*2*3*4*5
var_dump(array_reduce($x, "sum", "No data to reduce")); // string(17) "No data to reduce"
?>