首頁 >後端開發 >php教程 >PHP數組操作之計算數組所有元素和的方法

PHP數組操作之計算數組所有元素和的方法

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB原創
2021-11-05 15:56:284876瀏覽

在之前的文章《PHP數組運算之怎樣合併數組?常見方法總結》中詳細的介紹了幾種PHP數組操作中常見數組合併的相關知識,本篇文章我們繼續來看一下PHP數組操作的相關知識,希望對大家有幫助!

PHP數組操作之計算數組所有元素和的方法

在上一篇文章中我們介紹了PHP中怎樣來合併數組,其中可以透過array_merge函數、array_merge_recursive函數和array_combine函數來實現,在PHP的陣列運算中還可以計算陣列所有元素的和與乘積。

在PHP中,可以透過for迴圈和foreach循環,以及內建的函數array_sum()來計算陣列所有元素的和。以下我們從最熟悉也最簡單的for迴圈方式開始,一一跟大家介紹實作方法。

透過for循環

#在我們之前的文章《怎麼使用PHP中的For迴圈和Foreach迴圈(圖文詳解)》中我們介紹了for迴圈語句,有興趣的小夥伴可以點選連結查看,我們直接透過範例來看怎麼透過for迴圈來計算所有元素的和,範例如下:

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

輸出結果:

PHP數組操作之計算數組所有元素和的方法

#如此我們便透過for迴圈來進行計算數組元素和,但是其中需要注意的是,如果在for迴圈中計算的陣列中有一個完全沒有數值的元素在裡面,雖然程式會將它當做0並且輸出結果正常,但是輸出結果會有一個錯誤顯示。

接下面我們再來看一下與for迴圈比較類似的foreach迴圈。

透過foreach循環

#在上文中提到的文章中不僅介紹了for迴圈也介紹了foreach循環,下面我們就不做過多的陳述了,直接透過範例來看一下怎樣透過foreach函數的使用來計算數組元素和,範例如下:

<?php
header("Content-type:text/html;charset=utf-8");
//通过for循环
$array= array(&#39;24k&#39;,&#39;56kg&#39;,&#39;180cm&#39;,8,100,&#39;100.1&#39;,&#39;3.1415926&#39;);
$sum=0;
for ($i=0; $i < count($array); $i++) {
    $sum+=$array[$i];
}
echo &#39;通过for循环得到:&#39;. $sum;
echo &#39;<br/>&#39;;
//通过foreach循环
$sum1=0;
foreach ($array as $value) {
    $sum1+=$value;
}
echo &#39;通过foreach循环得到:&#39;. $sum1;
?>

輸出結果:

PHP數組操作之計算數組所有元素和的方法

如此我們便透過foreach完成了對陣列進行元素和的計算。透過for迴圈和foreach迴圈來進行數組元素的加法總歸是複雜了一下,在PHP中有一個內建函數array_sum函數就能夠輕鬆地解決這個問題,下面我們就來看一下應該怎樣透過array_sum來計算。

<strong><span style="font-size: 20px;">array_sum()</span></strong>#函數

透過 array_sum函數就能夠計算數組中所有元素的和,array_sum函數的基本語法格式如下:

array_sum(array)

其中需要注意的是,參數array就是需要計算所有元素和的數組,傳回的結果都是以整數或浮點數的結果傳回的,如果這個數組是個空數組的話,回傳的結果就是0

如果這個陣列中的元素並不全是數值的話,不是數值的元素的話,PHP這個函數會嘗試將這個元素轉換成一個數值,如果轉換不了,那就當這個數值為0,這樣的轉換舉個例子,一個字串“10.1”,並不是數值的形式,而是字串,那麼轉換之後就以數值10.1的形式來進行計算元素的和。

下面我們透過範例來看array_sum函數的應用,範例如下:

<?php
$a = array(1, 2, 3, 4);
echo array_sum($a);
?>

輸出結果:

PHP數組操作之計算數組所有元素和的方法

##上述範例中,便是數組元素全部都是數值,這樣的話直接對元素進行相加就可以了無需進行轉換,下面我們看一下字符串是怎樣進行轉換的,示例如下:

<?php
$b = array(100, &#39;1&#39;, "0.01");
echo array_sum($b);
?>

輸出結果:

PHP數組操作之計算數組所有元素和的方法

上述範例中,便是將字串的元素進行轉換,字串「0.01」直接轉換成數值0.01,還有一些能夠轉換的和一些不能轉換的陣列元素,範例如下:

<?php
$c = array(&#39;24k&#39;,&#39;56kg&#39;,&#39;180cm&#39;,&#39;argrg&#39;);
echo array_sum($c);
?>

輸出結果:


PHP數組操作之計算數組所有元素和的方法

#透過上述範例,有些字串是能夠進行轉換的,像是範例中的“24k”,但是像“argrg”這樣的就不能進行轉換了,只能當做數值為0。下面我們將三種方法都寫出來,範例如下:

<?php
header("Content-type:text/html;charset=utf-8");
//通过array_sum函数
$c = array(&#39;24k&#39;,&#39;56kg&#39;,&#39;180cm&#39;,&#39;argrg&#39;,8,100,&#39;100.1&#39;,&#39;3.1415926&#39;);
echo &#39;通过array_sum函数得到:&#39; . array_sum($c);
echo &#39;<br/>&#39;;
//通过for循环
$array= array(&#39;24k&#39;,&#39;56kg&#39;,&#39;180cm&#39;,8,100,&#39;100.1&#39;,&#39;3.1415926&#39;);
$sum=0;
for ($i=0; $i < count($array); $i++) {
    $sum+=$array[$i];
}
echo &#39;通过for循环得到:&#39;. $sum;
echo &#39;<br/>&#39;;
//通过foreach循环
$sum1=0;
foreach ($array as $value) {
    $sum1+=$value;
}
echo &#39;通过foreach循环得到:&#39;. $sum1;
?>

輸出結果:


PHP數組操作之計算數組所有元素和的方法

大家如果有興趣的話,可以點選《PHP影片教學》進行更多關於PHP知識的學習。

以上是PHP數組操作之計算數組所有元素和的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn