繁体   English   中英

从foreach循环php收到的总和值

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

3v4l.org 上的演示

您可以使用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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM