Work Life Fun

仕事も人生も楽しむ社労士

PHPで連想配列の特定のキーの値を合計する方法:array_sumとarray_column

※当サイトはリンクに広告ページが含まれている場合があります

配列の値を合計するarray_sum

array_sumは、配列の値を合計します。

$array = [2, 4, 6, 8];

// array_sumで合計
$sum = array_sum($array);
print($sum);

// 結果
20

連想配列の特定のキーの値を合計するarray_sumとarray_columnの組み合わせ

このarray_sumと、以前紹介したarray_columnを組み合わせることで、連想配列の特定のキーの値を一発で合計することができます。

関連:PHPで連想配列から特定キーの配列を取り出すarray_column

真っ先に思いつくのは、foreachでループさせ特定のキーの値を加算させる方法ですが、「【PHP】連想配列の特定のキーの値の合計をいろんな方法で取得してみる」でこの方法を知ったときは、賢い人がいるものだと感心しました。

1行で書けて、しかもforeachによるループよりも処理速度も速く、良いこと尽くしです😉

$array = [
    ['name' => 'A', 'quantity' => 0],
    ['name' => 'B', 'quantity' => 2],
    ['name' => 'C', 'quantity' => 1],
    ['name' => 'D', 'quantity' => 4],
    ['name' => 'E', 'quantity' => 10],
];

// quantityを合計する
$total = array_sum(array_column($array, 'quantity'));
print($total);

// 結果
17

念のために解説しておくと、

  • array_columnで、キー’quantity’の値のみを取り出して配列を作り、
  • array_sumで、配列の値を合計する

これが「array_sum(array_column($array, ‘quantity’))」で行っていることです。1行で書けるなんてすばらしい!

【無料】効率的に人事労務の情報を入手しませんか?
  • 毎年のように改正される労働法令への対応に頭を悩ませている
  • 総務や経理などの他の業務を兼務しているので、人事労務業務だけに時間を割けない

といった悩みを抱える企業の経営者・人事労務担当者向けに、公開型のブログでは書けない、本音を交えた人事労務に関する情報・ノウハウ、時期的なトピックに関するメールマガジンを「無料」で配信しています。

過去の配信分は公開しません。

情報が必要な方は、いますぐ以下のフォームから購読の登録をしてください。購読して不要と思ったら簡単に解除できますのでご安心ください。


up_line