[英]Sum values received from foreach loop php
我想對自定義函數中的值求和,其中接收的參數/參數是來自另一個文件中 foreach 循環的變量。
下面是代碼:
// $value is the looped variable from another function
function custom_function($value) {
// simple logic
$var = [];
$var += $value;
print_r($var);
// using array logic
$array = [];
$array[] = $value;
print_r($array);
}
問題是,使用任何print_r
我得到的輸出為:
Array
(
[0] => 100
)
Array
(
[0] => 200
)
我需要的是 300,即 100 + 200 我懷疑的原因是$value
是循環變量的總和。
$a = array('10','20','30');
$result = array();
$temp = 0;
foreach($a as $v)
{
$temp = $v+$temp;
array_push($result,$temp);
}
echo end($result);
echo '<br>';
print_r($result);
我在想$a
是一個傳遞值的數組。 如果您不想更改大部分邏輯,請嘗試這樣做,只需創建 2 個臨時變量
您可以使用靜態變量來維護函數調用之間的總和:
function custom_function($value) {
static $var = 0;
$var += $value;
echo "$var\n";
}
custom_function(100);
custom_function(200);
輸出:
100
300
您可以使用array_sum來計算數組值的總和
function custom_function($value) {
// simple logic
$var = [];
$var += $value;
print_r($var);
print_r(array_sum($var));
}
$array = array('100','200');
$res= array(); //declare a new array
foreach($array as $val)
{
array_push($res,$val); // push each element to newly created array
}
custom_function($res); //call custom function to calculate the sum of array elements
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.