PHPのarray_reduce()関数の使い方を徹底解説
PHPのarray_reduce()関数とは
array_reduce()は、ユーザー定義の関数(コールバック)を配列の各要素に対して繰り返し適用し、配列全体を単一の値へとまとめて返す関数です。要素同士の連結や合計・積の計算など、配列をひとつの結果に集約したい場面で活躍します。
構文
array_reduce(arr, custom_func, initial)
パラメータ
- arr − 処理対象となる配列。必須。
- custom_func − 各要素に適用するユーザー定義関数(コールバック)の名前。必須。
- initial − 最初にコールバックへ渡される初期値。省略可能。
戻り値
コールバックを適用した結果として得られた単一の値を返します。なお、配列が空で、かつinitialが指定されていない場合にはNULLが返されます。
使用例①:文字列の連結
まずは、配列の要素を文字列として連結する基本的な例を見てみましょう。
<?php
function display($a1, $a2) {
return $a1 . " DEMO " . $a2;
}
$a = array("One", "Two");
print_r(array_reduce($a, "display", 2));
?>
出力結果
2 DEMO One DEMO Two
この例では、初期値「2」から処理が始まり、コールバック関数display()によって各要素が「DEMO」を挟んで順番に連結されていきます。
使用例②:数値の合計を求める
次に、配列内のすべての数値要素を合計する例を紹介します。
<?php
function display($a1, $a2) {
return $a1 + $a2;
}
$arr = array(50, 100, 150, 200, 250);
print_r(array_reduce($arr, "display", 500));
?>
出力結果
1250
このケースでは、初期値の「500」に対して、配列の各要素(50+100+150+200+250=750)が順に加算され、最終的に「1250」という合計値が返されます。
まとめ
array_reduce()関数を使えば、for文やforeach文を書かずに、配列を簡潔に単一の値へ集約できます。文字列連結だけでなく、数値計算などにも応用できる便利な関数なので、ぜひ活用してみてください。
-
PHPのarray_reduce()関数の使い方を徹底解説
PHPのarray_reduce()関数とはarray_reduce()は、ユーザー定義の関数(コールバック)を配列の各要素に対して繰り返し適用し、配列全体を単一の値へとまとめて返す関数です。要素同士の連結や合計・積の計算など、配列をひとつの結果に集約したい場面で活躍します。構文array_reduce(arr, custom_func, initial)パラメータarr − 処理対象となる配列。必須。custom_func − 各要素に適用するユーザー定義関数(コールバック)の名前。必須。initial − 最初にコールバックへ渡される初期値。省略可能。戻り値コールバックを適用した結果として
-
PHPのarray()関数とは?配列の作成方法をわかりやすく解説
PHPのarray()関数は、配列を作成するための関数です。PHPにおける配列には、主に以下の3種類が存在します。インデックス配列 − 数値インデックス(0から始まる番号)で要素を管理する配列連想配列 − 文字列などの名前付きキーで要素を管理する配列多次元配列 − 配列の中に1つ以上の配列を含む、入れ子構造の配列構文// 数値インデックスを持つ配列(インデックス配列) array(value1, value2, ...); // 名前付きキーを持つ配列(連想配列) array(key1 => value1, key2 => value2, ...)パラメータvalue − 配列に