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

来自:互联网
时间:2021-11-05
阅读:

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

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

通过for循环

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

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

输出结果:

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

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

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

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

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

输出结果:

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

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

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

通过foreach循环

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

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

输出结果:

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

通过上述示例能够看出,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('24k','56kg','180cm',8,100,'100.1','3.5');
//通过for循环
$sum=1;
for ($i=0; $i < count($array); $i++) {
    $sum*=$array[$i];
}
echo '通过for循环求得数组内元素的积为:'. $sum;
echo '<br/>';
//通过foreach循环
$sum1=1;
foreach ($array as $value) {
    $sum1*=$value;
}
echo '通过foreach循环求得数组内元素的积为:'. $sum1;
echo '<br/>';
//通过array_product函数
echo '通过array_product函数求得数组内元素的积为:'. array_product($array);
?>

输出结果:

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

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

返回顶部
顶部