[英]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.