Home  >  Article  >  Backend Development  >  PHP array learning to calculate the product of array elements

PHP array learning to calculate the product of array elements

青灯夜游
青灯夜游Original
2021-08-02 13:17:323744browse

In the previous article "PHP Array Learning: Calculating the Sum of Array Elements", we introduced the method of calculating the sum of all elements in an array. Today we will change this basis. Since we can add the sum of all array elements, we can also find the product of all array elements.

This article will take a look at how to calculate the product of all elements in an array. There are also three methods: for loop, foreach loop and built-in function array_product(). Let’s learn more about it through code examples.

Method 1: Using a for loop

Let’s take a look at the following example:

<?php
$array= array(2,3);
$product=1;
for ($i=0; $i < count($array); $i++) { 
    $product*=$array[$i];
} 
echo &#39;2 * 3 = &#39;. $product;

$array= array(2,3,4);
$product=1;
for ($i=0; $i < count($array); $i++) { 
    $product*=$array[$i];
} 
echo &#39;<br>2 * 3 * 4 = &#39;. $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 &#39;<br>1 * 2 * 3 *...* 9 * 10 = &#39;. $product;
?>

Output result:

2 * 3 = 6
2 * 3 * 4 = 24
1 * 2 * 3 *...* 9 * 10 = 3628800

In the previous article, because it is a summation, the initial value of the $sum variable is 0 and does not affect the subsequent value; in this article, it is a product, and anything multiplied by 0 is 0, so here$product The initial value of the variable cannot be 0, but 1.

*=The operator is "multiplication assignment", which can multiply the variable on the left side of the operator by the value of the expression on the right side and assign it to the variable on the left.

Method 2: Using foreach loop

Let’s take a look at the following example:

<?php
$array= array(2,3);
$product=1;
foreach ($array as $value) { 
    $product*=$value;
}
echo &#39;2 * 3 = &#39;. $product;

$array= array(2,3,4);
$product=1;
foreach ($array as $value) { 
    $product*=$value;
}
echo &#39;<br>2 * 3 * 4 = &#39;. $product;

$array= array(1,2,3,4,5,6,7,8,9,10);
$product=1;
foreach ($array as $value) { 
    $product*=$value;
}
echo &#39;<br>1 * 2 * 3 *...* 9 * 10 = &#39;. $product;
?>

Output result:

2 * 3 = 6
2 * 3 * 4 = 24
1 * 2 * 3 *...* 9 * 10 = 3628800

foreach In the loop statement, when traversing the array, the value of the current array will be assigned to $value in each loop; then use "$product*=$value; in each loop ” statement simply multiplies the value of the current array and the product of the previous array elements. [Recommended learning: PHP loop learning three: How to use a for loop statement to traverse an array]

Method 3: Use the array_product() function

array_product () is a built-in function in PHP that returns the product of all elements in an array.

Let’s take a look at how array_product() calculates the product of array elements through code examples:

<?php
$array= array(2,3,4);
echo &#39;2 * 3 * 4 = &#39;. array_product($array);

$array= array(3,4,5);
echo &#39;<br>3 * 4 * 5 = &#39;. array_product($array);

$array= array(1,2,3,4,5,6,7,8,9,10);
echo &#39;<br>1 * 2 * 3 *...* 9 * 10 = &#39;. array_product($array);
?>

Output result:

2 * 3 * 4 = 24
3 * 4 * 5 = 60
1 * 2 * 3 *...* 9 * 10 = 3628800

If$array## If there are non-numeric elements in #, PHP will convert them into a numeric value (implicit data type conversion). If the conversion fails, it will be treated as a 0 value.

<?php
$array= array(2,"3.1",4);
echo &#39;2 * 3.1 * 4 = &#39;. array_product($array);

$array= array(3,"10.abc",5);
echo &#39;<br>3 * "10.abc" * 5 = 3 * 10 * 5 =&#39;. array_product($array);

$array= array(3,"hello",5);
echo &#39;<br>3 * "hello" * 5 = 3 * 0 * 5 =&#39;. array_product($array);
?>

  • The string "3.1" will be converted into a decimal 3.1, so the product of the elements of the first array is 24.8.


  • #The string "10abc" will be converted to the integer 10, so the product of the elements of the second array is 150.

  • The string "hello" cannot be converted to an integer, so as a value of 0, the product of the elements of the third array is 0.

Output result:

2 * 3.1 * 4 = 24.8
3 * "10.abc" * 5 = 3 * 10 * 5 =150
3 * "hello" * 5 = 3 * 0 * 5 =0

Okay, that’s all. If you want to know anything else, you can click this. → →

php video tutorial

Finally, I would like to recommend a free video tutorial on PHP arrays:

PHP function array array function video explanation, come and learn!

The above is the detailed content of PHP array learning to calculate the product of array elements. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn