站長資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

PHP數(shù)組學習之計算數(shù)組元素乘積

在之前的文章《PHP數(shù)組學習之計算數(shù)組元素總和》中,我們介紹了計算數(shù)組中所有元素總和的方法。今天我們來在這個基礎(chǔ)上變一下,既然可以所有數(shù)組元素之和,那么也能求所有數(shù)組元素的乘積。

本篇文章來看看如何計算數(shù)組中所有元素的乘積,同樣是三種方法:for循環(huán)、foreach循環(huán)和內(nèi)置函數(shù)array_product(),下面我們通過代碼實例來具體了解下吧。

方法1:使用for循環(huán)

我們來看看下面這個實例:

<?php $array= array(2,3); $product=1; for ($i=0; $i < count($array); $i++) {      $product*=$array[$i]; }  echo '2 * 3 = '. $product;  $array= array(2,3,4); $product=1; for ($i=0; $i < count($array); $i++) {      $product*=$array[$i]; }  echo '<br>2 * 3 * 4 = '. $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 '<br>1 * 2 * 3 *...* 9 * 10 = '. $product; ?>

輸出結(jié)果:

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

在上一篇中,因為是求和,$sum變量的初始值為0不影響之后的值;而本文中,是求乘積,0乘以什么都是0,所以這里$product變量的初始值就不能為0,而是1了。

*=運算符為“乘賦值”,可以將運算符左邊的變量乘以右邊表達式的值賦給左邊的變量。

方法2:使用foreach循環(huán)

我們來看看下面這個實例:

<?php $array= array(2,3); $product=1; foreach ($array as $value) {      $product*=$value; } echo '2 * 3 = '. $product;  $array= array(2,3,4); $product=1; foreach ($array as $value) {      $product*=$value; } echo '<br>2 * 3 * 4 = '. $product;  $array= array(1,2,3,4,5,6,7,8,9,10); $product=1; foreach ($array as $value) {      $product*=$value; } echo '<br>1 * 2 * 3 *...* 9 * 10 = '. $product; ?>

輸出結(jié)果:

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

foreach循環(huán)語句中,遍歷數(shù)組,會在每次循環(huán)中將當前數(shù)組的值賦給 $value;然后在每次循環(huán)中使用“$product*=$value;”語句將當前數(shù)組的值和之前的數(shù)組元素乘積相乘即可。【推薦學習:PHP循環(huán)學習三:如何使用for循環(huán)語句遍歷數(shù)組】

方法3:使用array_product()函數(shù)

array_product()是PHP中的一個內(nèi)置函數(shù),可以返回數(shù)組中所有元素的乘積。

下面我們通過代碼實例來具體看看array_product()如何求數(shù)組元素的乘積:

<?php $array= array(2,3,4); echo '2 * 3 * 4 = '. array_product($array);  $array= array(3,4,5); echo '<br>3 * 4 * 5 = '. array_product($array);  $array= array(1,2,3,4,5,6,7,8,9,10); echo '<br>1 * 2 * 3 *...* 9 * 10 = '. array_product($array); ?>

輸出結(jié)果:

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

如果$array中存在非數(shù)值類型的元素,那么PHP會將它們轉(zhuǎn)換成一個數(shù)值(隱性數(shù)據(jù)類型轉(zhuǎn)換),轉(zhuǎn)換失敗就作為 0 值。

<?php $array= array(2,"3.1",4); echo '2 * 3.1 * 4 = '. array_product($array);  $array= array(3,"10.abc",5); echo '<br>3 * "10.abc" * 5 = 3 * 10 * 5 ='. array_product($array);  $array= array(3,"hello",5); echo '<br>3 * "hello" * 5 = 3 * 0 * 5 ='. array_product($array); ?>
  • 字符串"3.1"會被轉(zhuǎn)換成小數(shù) 3.1 ,所以第一個數(shù)組的元素乘積為24.8。

  • 字符串 "10abc" 會被轉(zhuǎn)換成整數(shù) 10,所以第二個數(shù)組的元素乘積為150。

  • 字符串“hello”無法被轉(zhuǎn)換成整數(shù),因此作為 0 值,繼而第三個數(shù)組的元素乘積為0。

輸出結(jié)果:

2 * 3.1 * 4 = 24.8 3 * "10.abc" * 5 = 3 * 10 * 5 =150 3 * "hello" * 5 = 3 * 0 * 5 =0

好了就說到這里了,有其他想知道的,可以點擊這個哦。→ →php視頻教程

最后給大家推薦一個PHP數(shù)組的免費視頻教程:PHP函數(shù)之a(chǎn)rray數(shù)組函數(shù)視頻講解,快來學習吧!

贊(0)
分享到: 更多 (0)
網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
国产在热线精品视频国产一二| 在线日韩中文字幕| 思思久久精品在热线热| 日韩精品无码久久久久久| 精品国产三级a∨在线观看| 亚洲一区精品视频在线| 亚洲精品免费视频| 国产精品美女久久久久久2018 | www.精品在线| 中文字幕日韩一区| 亚洲AV无码专区日韩| 国产精品久久现线拍久青草| 四虎精品在线视频| 国产精品无码久久综合网| 精品香蕉一区二区三区| 国产精品一二二区| 精品久久久无码21p发布| 久久99国产精品尤物| 久久青青草原精品国产| 久久99国产这里有精品视| 国产成人vr精品a视频| 国产精品免费观看调教网| 精品国产91久久久久久久| 国产精品亚洲精品日韩已满| 国精品无码一区二区三区在线| 伊人久久精品无码av一区| 中文字幕精品视频在线| 思思久久99热只有频精品66| 最新国产精品拍自在线观看| 国产午夜精品一区理论片飘花 | 国产精品香蕉在线| 国产精品久久久天天影视| 国产精品视频yuojizz| 亚洲国产综合精品中文第一| 久九九精品免费视频| 日韩国产精品亚洲а∨天堂免| 久久精品国内一区二区三区| 国内精品国语自产拍在线观看91| 精品无码久久久久久久久水蜜桃| 国产精品毛多多水多| 日韩精品人妻一区二区中文八零|