【PHP】array_product()で配列や連想配列の値の積を計算する!

(この記事は2022年8月22日に投稿されました。)

PHPで配列や連想配列の値を掛け算する方法として、array_product()があります。

array_product()とは配列の値の積を計算するで関数あり、格納されている値を全て掛け算した結果を返り値として返します。

こちらの関数を使用しなくても掛け算した結果を取得することはできますが、毎回値を指定して式を作るのはとても面倒です。

しかし、array_product()に対象の配列を指定するだけで、掛け算した結果を取得することができるのでとても便利です。

そして、array_product()は、連想配列や2次元配列や3次元配列のような多次元配列の値の積を計算することもできます。

そのため、配列や連想配列で格納されている値の積を求めたいと思う人はぜひ、こちらの関数を使用しましょう。

今回はPHPのarray_product()で配列や連想配列の値の積を計算する方法について紹介していきます。

この記事はこんな方におすすめ
・PHPのarray_product()で配列の積を計算したい人
・配列や連想配列の値の積を取得したい人




array_product()とは

冒頭でも言いましたが、array_product()とは、配列の値の積を計算する関数となります。

値の積を計算することから、計算された積の値が返り値として返されるようになります。

array_product()の書き方

array_product()の書き方は下記のようになります。

array_product()は基本1つのパラメータを指定して使用することができます。

array_product()のパラメータ

array_product()のパラメータは下記のようになります。

  1. 対象の配列(必須):
    値の積を計算したい配列を指定する

array_product()は必須なパラメータとして「対象の配列」を指定します。

array_product()で配列の値の積を計算するサンプルコード

array_product()で配列の値の積を計算するサンプルコードをご紹介します。

ここでは下記の4つの場合で、array_product()を使用します。

  1. 配列の値が整数である場合
  2. 配列の値が小数である場合
  3. 配列の値が文字列である場合
  4. 配列の値が文字列の数値である場合

配列の値が整数である場合

配列の値が整数である場合にarray_product()を使用してみます。

⚫︎ index.php

⚫︎ 実行結果

配列の値が整数である場合にarray_product()を使用した結果

配列の値が整数の場合にarray_product()を使用すると、値の積が計算されます。

そのため、配列内の値が掛け算され、「3840」が表示されています。

配列の値が小数である場合

配列の値が小数である場合にarray_product()を使用してみます。

⚫︎ index.php

⚫︎ 実行結果

配列の値が小数である場合にarray_product()を使用した結果

配列の値が小数の場合にarray_product()を使用すると、値の積が計算されます。

そのため、配列内の値が掛け算され、「5554.692」が表示されています。

配列の値が文字列である場合

配列の値が文字列である場合にarray_product()を使用してみます。

⚫︎ index.php

⚫︎ 実行結果

配列の値が文字列である場合にarray_product()を使用した結果

配列の値が文字列の場合にarray_product()を使用すると、数値ではないため、値の積が計算されません。

そのため、「0」が表示されています。

配列の値が文字列の数値である場合

配列の値が文字列の数値である場合にarray_product()を使用してみます。

⚫︎ index.php

⚫︎ 実行結果

配列の値が文字列の数値である場合にarray_product()を使用した結果

配列の値が文字列の数値の場合にarray_product()を使用すると、値の積が計算されます。

そのため、配列内の値が掛け算され、「29160」が表示されています。

Sossy

array_product()は文字列の数値なら、計算が行われます。

array_product()で数値と文字列が混合している配列の値を計算する場合

array_product()で数値と文字列が混合している配列の値を計算してみます。

⚫︎ index.php

⚫︎ 実行結果

array_product()で数値と文字列が混合している配列の値を計算した結果

数値と文字列が混合している配列にarray_product()を使用すると、計算されません。

そのため、配列に複数の数値がありますが、「0」が返されています。

array_product()で連想配列の値の積を計算するサンプルコード

array_product()で連想配列の値の積を計算するサンプルコードをご紹介します。

⚫︎ index.php

⚫︎ 実行結果

array_product()で連想配列の値の積を計算した結果

array_product()によって連想配列の値の積を計算しています。

そのため、配列内の値が掛け算され、「668292240」が表示されています。

array_product()で多次元配列の値の積を計算するサンプルコード

array_product()で多次元配列の値の積を計算するサンプルコードをご紹介します。

2次元配列に使用する場合

2次元配列にarray_product()を使用して値の積を計算してみます。

⚫︎ index.php

⚫︎ 実行結果

array_product()で2次元配列の値の積を計算した結果

配列にインデックスを1つ指定することで、2次元配列の中にある1次元配列の値の積を計算することができます。

Sossy

今回は、for文を使用して、2次元配列にある全ての1次元配列の値の積をそれぞれ計算しています。

3次元配列に使用する場合

3次元配列にarray_product()を使用して、値の積を計算してみます。

⚫︎ index.php

⚫︎ 実行結果

array_product()で3次元配列の値の積を計算した結果

配列にインデックスを2つ指定することで、3次元配列の中にある1次元配列の値の積を計算することができます。

Sossy

こちらは多重for文を使用して、3次元配列にある全ての1次元配列の値の積をそれぞれ計算しています。

range()で作成した配列の値の積を計算する場合

array_product()は、range()で作成した配列の値の積を計算することができます。

そもそもrange()とは、指定した範囲内から連続する要素を持つ配列を作成する関数になります。

⚫︎ index.php

⚫︎ 実行結果

range()で作成した配列の値の積を計算した結果

range()によって数値の配列が作成され、その配列にarray_product()を使用することで値の積を計算することができます。

そのため、配列内の値が掛け算され、「120」と「-720」が表示されています。

もし、range()について詳しく知りたい場合は下記の記事をご参考ください。

配列の値の合計を計算する場合

配列の値の合計を計算する場合は、array_sum()を使用します。

array_sum()とは、指定した配列の要素の合計値を取得する関数になります。

⚫︎ index.php

⚫︎ 実行結果

array_sum()で配列の値の合計を計算した結果

array_sum()によって指定した配列の要素の合計値が計算されています。

そのため、「325」が表示されています。

もし、array_sum()について詳しく知りたい場合は下記の記事をご参考ください。

まとめ

⚫︎ array_product()とは配列の値の積を計算する関数である

⚫︎ array_product()を使用するには1つのパラメータが必須となる
・ 対象の配列(必須)

⚫︎ 配列の値が整数である場合にarray_product()を使用すると、値の積が計算される

⚫︎ 配列の値が小数である場合にarray_product()を使用すると、値の積が計算される

⚫︎ 配列の値が文字列である場合にarray_product()を使用すると、「0」が返ってくる

⚫︎ 配列の値が文字列の数値である場合にarray_product()を使用すると、値の積が計算される
(文字列でも数値であれば計算は行われる)

⚫︎ 数値と文字列が混合している配列にarray_product()を使用すると、「0」が返ってくる
(計算されない)

⚫︎ array_product()は連想配列の値の積を計算することができる

⚫︎ array_product()で多次元配列の値の積を計算するにはfor文を使用する

⚫︎ array_product()はrange()で作成した配列の値の積を計算することができる

⚫︎ 配列の値の合計を計算する場合は、array_sum()を使用する

コメントを残す

メールアドレスが公開されることはありません。