在之前的文章《PHP數(shù)組操作之計(jì)算數(shù)組所有元素和的方法》中詳細(xì)的介紹了PHP中怎樣去計(jì)算數(shù)組內(nèi)所有元素和的相關(guān)知識(shí),本篇文章我們繼續(xù)來(lái)看一下PHP中數(shù)組的知識(shí),看完了怎么計(jì)算數(shù)組的元素和,下面我們看一下怎么計(jì)算數(shù)組的元素乘積。希望對(duì)大家有幫助!
在上一篇文章中我們了解了想要計(jì)算數(shù)組元素的元素和,可以通過(guò)我們一開(kāi)始了解到的for
循環(huán)和foreach
循環(huán),這兩種方法有些復(fù)雜,在PHP中有內(nèi)置的array_sum
函數(shù)可以對(duì)數(shù)組進(jìn)行計(jì)算元素和的操作。
想要計(jì)算數(shù)組元素的乘積,也很簡(jiǎn)單,和計(jì)算數(shù)組元素和差不多,都可以通過(guò)for
循環(huán)和foreach
循環(huán),同時(shí)PHP中也是有內(nèi)置的函數(shù)array_product
能夠計(jì)算數(shù)組元素的乘積,下面我們就分別來(lái)介紹一下這三種方法。
通過(guò)for
循環(huán)
在之前的文章《怎樣使用PHP中的For循環(huán)和Foreach循環(huán)(圖文詳解)》中我們已經(jīng)介紹了PHP中的for
循環(huán),這里就不做過(guò)多的贅述了,我們直接來(lái)看一下示例,應(yīng)該怎樣通過(guò)for循環(huán)來(lái)對(duì)數(shù)組元素進(jìn)行求乘積,示例如下:
<?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 '通過(guò)for循環(huán)得到:'. $sum; ?>
輸出結(jié)果:
通過(guò)上述示例我們發(fā)現(xiàn),數(shù)組元素中,不僅僅只有數(shù)值的時(shí)候,有類似于示例中“24”、“56”這樣的字符串,并不是數(shù)值,也會(huì)被轉(zhuǎn)換成數(shù)值加入了求積的隊(duì)伍里。
已經(jīng)看過(guò)上一篇求和的小伙伴可能發(fā)現(xiàn)了,代碼與上一篇不太相同的不僅僅只有求和的過(guò)程變了,變量$sum變成了1
,因?yàn)槭怯?jì)算相乘的緣故,所以改成了1
。
還有一種情況就是,數(shù)組中的元素不僅僅是數(shù)值,如果出現(xiàn)別的字符串會(huì)出現(xiàn)什么情況呢?下面我們通過(guò)示例來(lái)看一下,示例如下:
<?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 '通過(guò)for循環(huán)得到:'. $sum; ?>
輸出結(jié)果:
上述示例中,數(shù)組中的元素不僅僅是字符串了,還有類似“24k”、“56kg”這樣的帶有數(shù)值元素的字符串,這種情況下也是會(huì)自動(dòng)轉(zhuǎn)化為數(shù)值的。
以上便是通過(guò)for循環(huán)來(lái)進(jìn)行數(shù)組元素求積的過(guò)程了,接下來(lái)我們看一下怎樣通過(guò)foreach循環(huán)來(lái)進(jìn)行求積
通過(guò)foreach
循環(huán)
照例,我們先通過(guò)示例來(lái)看一下foreach
的使用,示例如下:
<?php $array= array('24k','56kg','180cm',8,100,'100.1','3.5'); //通過(guò)for循環(huán) $sum=1; for ($i=0; $i < count($array); $i++) { $sum*=$array[$i]; } echo '通過(guò)for循環(huán)求得數(shù)組內(nèi)元素的積為:'. $sum; echo '<br/>'; //通過(guò)foreach循環(huán) $sum1=1; foreach ($array as $value) { $sum1*=$value; } echo '通過(guò)foreach循環(huán)求得數(shù)組內(nèi)元素的積為:'. $sum1; ?>
輸出結(jié)果:
通過(guò)上述示例能夠看出,foreach循環(huán)和for循環(huán)一樣,都會(huì)轉(zhuǎn)換數(shù)組內(nèi)的字符串元素。下面我們就來(lái)介紹一下PHP中內(nèi)置的array_product
函數(shù)。
通過(guò)array_product
函數(shù)
在PHP中可以通過(guò)array_product
函數(shù)來(lái)對(duì)數(shù)組進(jìn)行求積的計(jì)算,array_product
函數(shù)的基本語(yǔ)法格式如下:
array_product(array)
其中需要注意的是,參數(shù)array就是要進(jìn)行求積的數(shù)組,函數(shù)運(yùn)行后返回的結(jié)果就是數(shù)組內(nèi)所有元素的乘積。其中這個(gè)元素是整數(shù)和浮點(diǎn)數(shù)。如果這個(gè)數(shù)組是個(gè)空數(shù)組的話,在PHP5.3.6之后返回的結(jié)果就是1
了。
下面我們通過(guò)示例來(lái)看一下函數(shù)array_product
的使用,示例如下:
<?php $array= array('24k','56kg','180cm',8,100,'100.1','3.5'); //通過(guò)for循環(huán) $sum=1; for ($i=0; $i < count($array); $i++) { $sum*=$array[$i]; } echo '通過(guò)for循環(huán)求得數(shù)組內(nèi)元素的積為:'. $sum; echo '<br/>'; //通過(guò)foreach循環(huán) $sum1=1; foreach ($array as $value) { $sum1*=$value; } echo '通過(guò)foreach循環(huán)求得數(shù)組內(nèi)元素的積為:'. $sum1; echo '<br/>'; //通過(guò)array_product函數(shù) echo '通過(guò)array_product函數(shù)求得數(shù)組內(nèi)元素的積為:'. array_product($array); ?>
輸出結(jié)果:
由此我們便通過(guò)for
循環(huán)、foreach
循環(huán)和array_product
函數(shù)三種方法計(jì)算出了數(shù)組元素的乘積。
大家如果感興趣的話,可以點(diǎn)擊《PHP視頻教程》進(jìn)行