PHP数组操作之计算数组元素乘积的技巧
发布时间:2022-08-02 15:53:01 所属栏目:PHP教程 来源:互联网
导读:在之前的文章《PHP数组操作之计算数组所有元素和的方法》中详细的介绍了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('24','56','180',8,100,'100.1','3.5'); $sum=1; for ($i=0; $i < count($array); $i++) { $sum*=$array[$i]; } echo '通过for循环得到:'. $sum; ?> 输出结果: 1105.18.png 通过上述示例我们发现,数组元素中,不仅仅只有数值的时候,有类似于示例中“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; ?> 输出结果: 1105.19.png 上述示例中,数组中的元素不仅仅是字符串了,还有类似“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; ?> 输出结果: 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('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); ?> 输出结果: (编辑:开发网_郴州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |


浙公网安备 33038102330466号