站長資訊網
最全最豐富的資訊網站

PHP數組學習之計算數組元素乘積

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

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

方法1:使用for循環

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

<?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; ?>

輸出結果:

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

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

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

方法2:使用foreach循環

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

<?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; ?>

輸出結果:

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

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

方法3:使用array_product()函數

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

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

<?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); ?>

輸出結果:

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

如果$array中存在非數值類型的元素,那么PHP會將它們轉換成一個數值(隱性數據類型轉換),轉換失敗就作為 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"會被轉換成小數 3.1 ,所以第一個數組的元素乘積為24.8。

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

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

輸出結果:

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

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

最后給大家推薦一個PHP數組的免費視頻教程:PHP函數之array數組函數視頻講解,快來學習吧!

贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
久久老子午夜精品无码| 国产成人精品曰本亚洲79ren| 久久亚洲精品无码VA大香大香| 久久91精品国产91久久户| 久久亚洲国产成人精品无码区| 九九免费精品视频在这里| 亚洲av日韩av无码av| 国产精品先锋资源站先锋影院 | 国产私拍福利精品视频网站| 亚洲精品国产专区91在线| 99精品视频免费观看| 无码精品人妻一区二区三区漫画| 青青草国产精品久久| 精品一区二区久久| 九九热这里只有在线精品视| 精品视频在线免费观看| 久久亚洲国产午夜精品理论片| 国产麻豆一精品一AV一免费| 亚洲精品成人片在线播放| 综合人妻久久一区二区精品| 亚洲精品蜜桃久久久久久| 任你躁在线精品免费| 国产乱码精品一品二品 | 热久久综合这里只有精品电影| 在线视频精品一区| 最新国产午夜精品视频不卡| 在线精品一区二区三区电影| 狠狠久久精品中文字幕无码| 国产剧情AV麻豆香蕉精品| 亚洲日韩在线观看| 日韩精品无码人成视频手机| 亚洲午夜成人精品无码色欲| 99精品众筹模特私拍在线| 2020国产欧洲精品视频| 亚洲精品无码久久| 国产精品扒开腿做爽爽的视频| 情侣视频精品免费的国产| 国产精品亚洲专区一区| 日韩一本之道一区中文字幕| 竹菊影视欧美日韩一区二区三区四区五区 | 久久久无码精品亚洲日韩蜜臀浪潮 |