array_reduce
(PHP 4 >= 4.0.5, PHP 5, PHP 7)
array_reduce — コールバック関数を用いて配列を普通の値に変更することにより、配列を再帰的に減らす
説明
array_reduce() は、配列 array
の各要素に callback
関数を繰り返し適用し、
配列を一つの値に減らします。
パラメータ
array
入力の配列。
callback
-
carry
前回の反復処理の結果を保持します。最初の反復処理のときには、
initial
の値を保持しています。item
現在の反復処理の値を保持します。
initial
オプションの
intial
が利用可能な場合、処理の最初で使用されたり、 配列が空の場合の最終結果として使用されます。
返り値
結果の値を返します。
配列が空で initial
が渡されなかった場合は、
array_reduce() は null
を返します。
例
例1 array_reduce() の例
<?phpfunction 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*5var_dump(array_reduce($x, "sum", "No data to reduce")); // string(17) "No data to reduce"?>
参考
- array_filter() - コールバック関数を使用して、配列の要素をフィルタリングする
- array_map() - 指定した配列の要素にコールバック関数を適用する
- array_unique() - 配列から重複した値を削除する
- array_count_values() - 配列の値の数を数える