前回の記事「PHP配列学習:配列要素の合計の計算」では、配列内の全要素の合計を計算する方法を紹介しました。今日はこの基準を変更して、すべての配列要素の合計を加算できるため、すべての配列要素の積も求めることができます。
この記事では、配列内のすべての要素の積を計算する方法について説明します。また、for ループ、foreach ループ、組み込み関数 array_product() の 3 つの方法もあります。さらに詳しく学びましょう。コード例を通して。
方法 1: for ループを使用する
次の例を見てみましょう:
<?php $array= array(2,3); $product=1; for ($i=0; $i < count($array); $i++) { $product*=$array[$i]; } echo '2 * 3 = '. $product; $array= array(2,3,4); $product=1; for ($i=0; $i < count($array); $i++) { $product*=$array[$i]; } echo '<br>2 * 3 * 4 = '. $product; $array= array(1,2,3,4,5,6,7,8,9,10); $product=1; for ($i=0; $i < count($array); $i++) { $product*=$array[$i]; } echo '<br>1 * 2 * 3 *...* 9 * 10 = '. $product; ?>
出力結果:
2 * 3 = 6 2 * 3 * 4 = 24 1 * 2 * 3 *...* 9 * 10 = 3628800
前の記事では、合計であるため、$sum 変数の初期値は 0 で、その後の値には影響しませんでしたが、この記事では、積であり、0 を掛けたものは 0 になります。ここで$product
変数の初期値を0にすることはできませんが、1にする必要があります。
*=
演算子は「乗算代入」で、演算子の左側の変数と右側の式の値を乗算して変数に代入できます。左に。
方法 2: foreach ループの使用
次の例を見てみましょう:
<?php $array= array(2,3); $product=1; foreach ($array as $value) { $product*=$value; } echo '2 * 3 = '. $product; $array= array(2,3,4); $product=1; foreach ($array as $value) { $product*=$value; } echo '<br>2 * 3 * 4 = '. $product; $array= array(1,2,3,4,5,6,7,8,9,10); $product=1; foreach ($array as $value) { $product*=$value; } echo '<br>1 * 2 * 3 *...* 9 * 10 = '. $product; ?>
出力結果:
2 * 3 = 6 2 * 3 * 4 = 24 1 * 2 * 3 *...* 9 * 10 = 3628800
foreach ループ ステートメントでは、配列を走査するときに、現在の配列の値が各ループの $value
に割り当てられ、次に "$product*=$value;
を使用します。各ループ 」ステートメントは、現在の配列の値と前の配列要素の積を単純に乗算します。 [推奨学習: PHP ループ学習 3: for ループ ステートメントを使用して配列を走査する方法]
方法 3: array_product() 関数を使用する
array_product () は、配列内のすべての要素の積を返す PHP の組み込み関数です。
コード例を通じて、array_product() が配列要素の積を計算する方法を見てみましょう:
<?php $array= array(2,3,4); echo '2 * 3 * 4 = '. array_product($array); $array= array(3,4,5); echo '<br>3 * 4 * 5 = '. array_product($array); $array= array(1,2,3,4,5,6,7,8,9,10); echo '<br>1 * 2 * 3 *...* 9 * 10 = '. array_product($array); ?>
出力結果:
2 * 3 * 4 = 24 3 * 4 * 5 = 60 1 * 2 * 3 *...* 9 * 10 = 3628800
If$array
に数値以外の要素がある場合、PHP はそれらを数値に変換します (暗黙的なデータ型変換) が、変換に失敗した場合は 0 値として扱われます。
<?php $array= array(2,"3.1",4); echo '2 * 3.1 * 4 = '. array_product($array); $array= array(3,"10.abc",5); echo '<br>3 * "10.abc" * 5 = 3 * 10 * 5 ='. array_product($array); $array= array(3,"hello",5); echo '<br>3 * "hello" * 5 = 3 * 0 * 5 ='. array_product($array); ?>
文字列「3.1」は 10 進数の 3.1 に変換されるため、最初の配列の要素の積は 24.8 になります。
#文字列「10abc」は整数 10 に変換されるため、2 番目の配列の要素の積は 150 になります。
文字列「hello」は整数に変換できないため、値が 0 の場合、3 番目の配列の要素の積は 0 になります。
出力結果:
2 * 3.1 * 4 = 24.8 3 * "10.abc" * 5 = 3 * 10 * 5 =150 3 * "hello" * 5 = 3 * 0 * 5 =0
わかりました。他に知りたいことがある場合は、これをクリックしてください。 → →php ビデオ チュートリアル
最後に、PHP 配列に関する無料のビデオ チュートリアルをお勧めします。PHP 関数 配列 配列関数のビデオ説明、ぜひ学んでください。
以上が配列要素の積の計算を学習する PHP 配列の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。