PHP数组操作之计算数组元素乘积的方法

在之前的文章《PHP数组操作之计算数组所有元素和的方法》中详细的介绍了PHP中怎样去计算数组内所有元素和的相关知识,本篇文章我们继续来看一下PHP中数组的知识,看完了怎么计算数组的元素和,下面我们看一下怎么计算数组的元素乘积。希望对大家有帮助!

PHP数组操作之计算数组元素乘积的方法

在上一篇文章中我们了解了想要计算数组元素的元素和,可以通过我们一开始了解到的for循环和foreach循环,这两种方法有些复杂,在PHP中有内置的array_sum函数可以对数组进行计算元素和的操作。

想要计算数组元素的乘积,也很简单,和计算数组元素和差不多,都可以通过for循环和foreach循环,同时PHP中也是有内置的函数array_product能够计算数组元素的乘积,下面我们就分别来介绍一下这三种方法。

通过for循环

在之前的文章《怎样使用PHP中的For循环和Foreach循环(图文详解)》中我们已经介绍了PHP中的for循环,这里就不做过多的赘述了,我们直接来看一下示例,应该怎样通过for循环来对数组元素进行求乘积,示例如下:

<?php
$array= array(&#39;24&#39;,&#39;56&#39;,&#39;180&#39;,8,100,&#39;100.1&#39;,&#39;3.5&#39;);
$sum=1;
for ($i=0; $i < count($array); $i++) {
    $sum*=$array[$i];
}
echo &#39;通过for循环得到:&#39;. $sum;
?>

输出结果:

1105.18.png

通过上述示例我们发现,数组元素中,不仅仅只有数值的时候,有类似于示例中“24”、“56”这样的字符串,并不是数值,也会被转换成数值加入了求积的队伍里。

已经看过上一篇求和的小伙伴可能发现了,代码与上一篇不太相同的不仅仅只有求和的过程变了,变量$sum变成了1,因为是计算相乘的缘故,所以改成了1

还有一种情况就是,数组中的元素不仅仅是数值,如果出现别的字符串会出现什么情况呢?下面我们通过示例来看一下,示例如下:

<?php
$array= array(&#39;24k&#39;,&#39;56kg&#39;,&#39;180cm&#39;,8,100,&#39;100.1&#39;,&#39;3.5&#39;);
$sum=1;
for ($i=0; $i < count($array); $i++) {
    $sum*=$array[$i];
}
echo &#39;通过for循环得到:&#39;. $sum;
?>

输出结果:

1105.19.png

上述示例中,数组中的元素不仅仅是字符串了,还有类似“24k”、“56kg”这样的带有数值元素的字符串,这种情况下也是会自动转化为数值的。

以上便是通过for循环来进行数组元素求积的过程了,接下来我们看一下怎样通过foreach循环来进行求积

通过foreach循环

照例,我们先通过示例来看一下foreach的使用,示例如下:

<?php
$array= array(&#39;24k&#39;,&#39;56kg&#39;,&#39;180cm&#39;,8,100,&#39;100.1&#39;,&#39;3.5&#39;);
//通过for循环
$sum=1;
for ($i=0; $i < count($array); $i++) {
    $sum*=$array[$i];
}
echo &#39;通过for循环求得数组内元素的积为:&#39;. $sum;
echo &#39;<br/>&#39;;
//通过foreach循环
$sum1=1;
foreach ($array as $value) {
    $sum1*=$value;
}
echo &#39;通过foreach循环求得数组内元素的积为:&#39;. $sum1;
?>

输出结果:

1105.20.png

通过上述示例能够看出,foreach循环和for循环一样,都会转换数组内的字符串元素。下面我们就来介绍一下PHP中内置的array_product函数。

通过array_product函数

PHP中可以通过array_product函数来对数组进行求积的计算,array_product函数的基本语法格式如下:

array_product(array)

其中需要注意的是,参数array就是要进行求积的数组,函数运行后返回的结果就是数组内所有元素的乘积。其中这个元素是整数和浮点数。如果这个数组是个空数组的话,在PHP5.3.6之后返回的结果就是1了。

下面我们通过示例来看一下函数array_product的使用,示例如下:

<?php
$array= array(&#39;24k&#39;,&#39;56kg&#39;,&#39;180cm&#39;,8,100,&#39;100.1&#39;,&#39;3.5&#39;);
//通过for循环
$sum=1;
for ($i=0; $i < count($array); $i++) {
    $sum*=$array[$i];
}
echo &#39;通过for循环求得数组内元素的积为:&#39;. $sum;
echo &#39;<br/>&#39;;
//通过foreach循环
$sum1=1;
foreach ($array as $value) {
    $sum1*=$value;
}
echo &#39;通过foreach循环求得数组内元素的积为:&#39;. $sum1;
echo &#39;<br/>&#39;;
//通过array_product函数
echo &#39;通过array_product函数求得数组内元素的积为:&#39;. array_product($array);
?>

输出结果:

1105.21.png

由此我们便通过for循环、foreach循环和array_product函数三种方法计算出了数组元素的乘积。

大家如果感兴趣的话,可以点击《PHP视频教程》进行更多关于PHP知识的学习。

以上就是PHP数组操作之计算数组元素乘积的方法的详细内容,更多请关注其它相关文章!