{category}

PHP - 配列関数

array_reduce()

アレイ リデュース(配列

意味 配列の要素を一つの値に集約


array_reduce()とは?

array_reduce()は、PHPの配列関数の一つです。指定した配列の全ての要素に対して、指定したコールバック関数を繰り返し適用し、最終的に単一の値にまとめます。配列の要素を合計したり、最大値を求めたりする際に便利です。

array_reduce()の具体的な使い方

配列の要素を合計する例

$numbers = [1, 2, 3, 4, 5];

$sum = array_reduce($numbers, function($carry, $item) {
    return $carry + $item;
}, 0);

echo "配列: ";
print_r($numbers);
echo "合計: $sum";

👇出力結果

配列: Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)
合計: 15

この例では、array_reduce()を使用して配列の全要素の合計を計算しています。コールバック関数は現在の合計($carry)と配列の各要素($item)を受け取り、それらを足し合わせます。初期値として0を指定しています。

文字列の連結と統計情報の計算

$words = ['Hello', 'World', 'PHP', 'is', 'awesome'];

$result = array_reduce($words, function($carry, $word) {
    $carry['string'] .= $word . ' ';
    $carry['count']++;
    $carry['total_length'] += strlen($word);
    return $carry;
}, ['string' => '', 'count' => 0, 'total_length' => 0]);

echo "連結した文字列: {$result['string']}\n";
echo "単語数: {$result['count']}\n";
echo "平均単語長: " . ($result['total_length'] / $result['count']);

👇出力結果

連結した文字列: Hello World PHP is awesome 
単語数: 5
平均単語長: 4.4

この例では、array_reduce()を使用して文字列の配列を連結し、同時に単語数と平均単語長を計算しています。初期値として連想配列を使用し、複数の統計情報を一度の処理で集計しています。

array_reduce()に関するよくある質問

Q. 初期値は必須ですか?
A. いいえ、初期値は省略可能です。省略した場合、配列の最初の要素が初期値として使用されます。ただし、空の配列の場合はNULLが返されます。
Q. 文字列の連結にも使えますか?
A. はい、array_reduce()は文字列の連結にも使用できます。例えば、文字列の配列を1つの文字列に結合する際に使用できます。
Q. 複雑な集約処理も可能ですか?
A. はい、コールバック関数内で複雑な処理を行うことで、平均値の計算や複数の値の集約など、様々な高度な処理が可能です。

array_reduce()が学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、PHPのarray_reduce()やarray_filter()、配列の配列、array_key_exists()、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


PHPを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!PHPはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

array_filter()

配列の要素を条件で絞り込む

種類: 配列関数

配列の配列

要素として他の配列を含む配列

種類: 多次元配列

array_key_exists()

配列のキーの存在確認

種類: 配列関数

min()

最小値を返す関数

種類: 数学関数

print_r()

変数の内容を見やすく表示

種類: デバッグ