・IT/Web系エンジニアの経験者の方
・どこの転職エージェントを利用しようか迷っている方
それなら、キッカケエージェントにご相談!
キッカケエージェントでは、少数精鋭のエージェントが、エンジニアの経験やスキル、志向性などをカウンセリングし、的確なアドバイスを提供します!
また、徹底した企業へのヒアリングにより、最適なマッチングを実現し、今では内定率が一般的なエージェントの2倍以上となっています!
転職エージェントに迷っている方、まずは無料でキャリア相談から!
(この記事は2022年7月11日に投稿されました。)
PHPで配列の要素の合計値を計算する方法として、array_sum()があります。
array_sum()とは配列の要素の合計値を取得する関数であり、[1,2,3]という配列に使用すると「6」のように要素の合計値を返すようになります。
合計値を返すことから「int型でないと」と思いがちですが、[‘1′,’2′,’3’]のようなstring型の要素でも合計値を取得できるので、型にとらわれる必要はありません。
そして、array_sum()は1次元配列だけでなく、2次元配列や3次元配列のような多次元配列の要素の合計値を取得することができます。
また、array_sum()は配列以外に、連想配列のキーや値の合計値を取得することもできます。
今回はPHPのarray_sum()で配列や連想配列の要素の合計値を計算する方法について紹介していきます。
array_sum()とは
冒頭でも言いましたが、array_sum()とは、指定した配列の要素の合計値を取得する関数となります。
例えば、[1, 2, 3, 4 ,5]という配列に対して、array_sum()を使用すると「15」が取得できるように、要素の合計値を返り値として返すようになります。
array_sum()の書き方
array_sum()の書き方は下記のようになります。
1 | <?php array_sum('要素を合計する配列'); ?> |
array_sum()は1つのパラメータを指定することで、使用することができます。
array_sum()のパラメータ
array_sum()のパラメータは下記のようになります。
- 要素を合計する配列(必須):
要素の合計値を取得したい配列を指定する
array_sum()は必須なパラメータとして、「要素を合計する配列」を指定します。
array_sum()で配列の要素の合計値を計算するサンプルコード
array_sum()で配列の要素の合計値を計算するサンプルコードをご紹介します。
ここでは下記の3つの場合でarray_sum()を使用してみます。
- 配列の要素が数値である場合
- 配列の要素が文字列である場合
- 配列の要素が数値と文字列である場合
配列の要素が数値である場合
配列の要素が数値である場合に、array_sum()を使用してみます。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 | <?php echo '⚫︎ 対象の配列'; $array1 = [23, 67, 89, 15, 90, 70]; var_dump($array1); echo '⚫︎ array_sum()使用後'; $array1_sum = array_sum($array1); echo $array1_sum; ?> |
実行結果
配列の要素が数値である場合は、要素が計算されて合計値が表示されるようになります。
そのため、要素の合計値である「354」が表示されています。
配列の要素が文字列である場合
配列の要素が文字列である場合に、array_sum()を使用してみます。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 | <?php echo '⚫︎ 対象の配列'; $array2 = ['25', '40', '30', '10', '5', '50']; var_dump($array2); echo '⚫︎ array_sum()使用後'; $array2_sum = array_sum($array2); echo $array2_sum; ?> |
実行結果
配列の要素が文字列である場合でも要素が計算されて合計値が表示されるようになります。
そのため、要素の合計値である「160」が表示されています。
配列の要素が数値と文字列である場合
配列の要素が数値と文字列である場合にarray_sum()を使用してみます。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 | <?php echo '⚫︎ 対象の配列'; $array3 = [30, '40', 120, '10', 200, '50']; var_dump($array3); echo '⚫︎ array_sum()使用後'; $array3_sum = array_sum($array3); echo $array3_sum; ?> |
実行結果
配列の要素が数値と文字列である場合は、両方の要素が計算されて合計値が表示されるようになります。
そのため、要素の合計値である「450」が表示されています。
多次元配列の要素の合計値を計算するサンプルコード
array_sum()で多次元配列の要素の合計値を計算するサンプルコードをご紹介します。
ここでは下記の2つの場合でarray_sum()を使用してみます。
- 2次元配列の要素の合計値を計算する場合
- 3次元配列の要素の合計値を計算する場合
2次元配列の要素の合計値を計算する場合
2次元配列の要素の合計値を計算する場合にarray_sum()を使用してみます。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <?php echo '⚫︎ 対象の配列'; $array4 = [ [30, 120, 200, 50], ['20', '75', '100', '150'], [100, 20, 15, 500], ['5', '125', '60', '35'] ]; var_dump($array4); echo '⚫︎ array_sum()使用後-1'; $array4_sum1 = array_sum($array4[1]); echo $array4_sum1; echo '⚫︎ array_sum()使用後-2'; $length = count($array4); $array4_allsum = 0; for($i = 0; $i < $length; ++$i) { $array4_sum2 = array_sum($array4[$i]); $array4_allsum = $array4_allsum + $array4_sum2; } echo $array4_allsum; ?> |
実行結果
array_sum()で指定した配列名の後ろにインデックスを1つ指定することで2次元配列内にある1次元配列の要素の合計値を計算することができます。
また、for文を使用すると2次元配列内にある全ての要素の合計値を計算することができます。
3次元配列の要素の合計値を計算する場合
3次元配列の要素の合計値を計算する場合にarray_sum()を使用してみます。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | <?php echo '⚫︎ 対象の配列'; $array5 = [ [[30, 120, 200, 50],['20', '75', '100', '150']], [[100, 20, 15, 500],['5', '155', '650', '335']], [[102, 22, 12, 50],['45', '25', '70', '550'],[345, 21, '76', '523'] ] ]; var_dump($array5); echo '⚫︎ array_sum()使用後-1'; $array5_sum1 = array_sum($array5[2][1]); echo $array5_sum1; echo '⚫︎ array_sum()使用後-2'; // 3次元配列の要素数のカウント $length2 = count($aichi1); $array5_allsum = 0; for($i = 0; $i < $length2; ++$i) { // 2次元配列のカウント $length1 = count($aichi1[$i]); for($j = 0; $j < $length1; ++$j) { $array5_sum2 = array_sum($array5[$i][$j]); echo '・1次元配列の合計値: '; $array5_allsum = $array5_allsum + $array5_sum2; echo $array5_sum2; echo "\n"; } } echo '・3次元配列の合計値'; echo $array5_allsum; ?> |
実行結果
array_sum()で指定した配列名の後ろにインデックスを2つ指定することで3次元配列内にある1次元配列の要素の合計値を計算することができます。
また、for文を2回使用すると3次元配列内にある全ての要素の合計値を計算することができます。
連想配列の要素の合計値を計算するサンプルコード
array_sum()で連想配列の要素の合計値を計算するサンプルコードをご紹介します。
連想配列の値の合計値を計算する場合
連想配列の値の合計値を計算する場合にarray_sum()を使用してみます。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <?php echo '⚫︎ 対象の配列'; $array6 = [ '1' => 100, '3' => '300', '5' => 500, '7' => '700', '9' => 900 ]; var_dump($array6); echo '⚫︎ array_sum()使用後'; $array6_sum = array_sum($array6); echo $array6_sum; ?> |
実行結果
array_sum()で指定した連想配列の値の合計値を計算することができます。
そのため、値の合計値である「2500」が表示されています。
連想配列のキーの合計値を計算する場合
連想配列のキーの合計値を計算する場合にarray_sum()を使用してみます。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <?php echo '⚫︎ 対象の配列'; $array7 = [ '1' => 100, '3' => '300', '5' => 500, '7' => '700', '9' => 900 ]; var_dump($array7); echo '⚫︎ array_sum()使用後'; $array7_keys = array_keys($array7); $array7_sum = array_sum($$array7_keys); echo $array7_sum; ?> |
実行結果
array_keys()によって、連想配列のキーを取得しており、array_sum()で指定した連想配列のキーの合計値を計算することができます。
そのため、キーの合計値である「25」が表示されています。
もし、array_keys()について詳しく知りたい場合は下記の記事をご参考ください。
まとめ
⚫︎ array_sum()とは指定した配列の要素の合計値を取得する関数である
⚫︎ array_sum()は1つのパラメータを指定することができる
・ 要素を合計する配列(必須)
⚫︎ 配列の要素が数値である場合に、array_sum()を使用すると要素が計算されて合計値が表示される
⚫︎ 要素が文字列である場合に、array_sum()を使用すると要素が計算されて合計値が表示される
⚫︎ array_sum()は配列の要素が数値と文字列である場合でも、要素が計算されて合計値が表示される
⚫︎ array_sum()は、2次元配列や3次元配列の多次元配列の要素の合計値を計算することができる
⚫︎ array_sum()は、連想配列の要素の合計値を計算することができる
(値やキーのみの合計値を計算することも可能)