配列 関数
PHP Manual

array_reduce

(PHP 4 >= 4.0.5, PHP 5)

array_reduceコールバック関数を用いて配列を普通の値に変更することにより、配列を再帰的に減らす

説明

mixed array_reduce ( array $array , callable $callback [, mixed $initial = NULL ] )

array_reduce() は、配列 array の各要素に callback 関数を繰り返し適用し、 配列を一つの値に減らします。

パラメータ

array

入力の配列。

callback
mixed callback ( mixed $carry , mixed $item )
carry

前回の反復処理の結果を保持します。最初の反復処理のときには、 initial の値を保持しています。

item

現在の反復処理の値を保持します。

initial

オプションの intial が利用可能な場合、処理の最初で使用されたり、 配列が空の場合の最終結果として使用されます。

返り値

結果の値を返します。

配列が空で initial が渡されなかった場合は、 array_reduce()NULL を返します。

変更履歴

バージョン 説明
5.3.0 initialmixed を指定できるようになりました。 これまでは integer のみでした。

例1 array_reduce() の例

<?php
function rsum($v$w)
{
    
$v += $w;
    return 
$v;
}

function 
rmul($v$w)
{
    
$v *= $w;
    return 
$v;
}

$a = array(12345);
$x = array();
$b array_reduce($a"rsum");
$c array_reduce($a"rmul"10);
$d array_reduce($x"rsum""No data to reduce");
?>

これにより、$b の値は 15 となり、$c の値は 1200 (= 10*1*2*3*4*5)、そして $d の値は No data to reduce となります。

参考


配列 関数
PHP Manual