PHP array learning to calculate the product of array elements

青灯夜游
Release: 2023-04-10 13:18:01
Original
3743 people have browsed it

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;
?>
Copy after login

Output result:

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

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;
?>
Copy after login

Output result:

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

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);
?>
Copy after login

Output result:

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

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);
?>
Copy after login

  • 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
Copy after login
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!

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template