从foreach循环php接收的和值

从foreach循环php接收的和值,php,logic,Php,Logic,我想对自定义函数中的值求和,其中接收的参数/参数是另一个文件中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 = []; $ar

我想对自定义函数中的值求和,其中接收的参数/参数是另一个文件中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');
$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);
$result=array(); $temp=0; foreach($a作为$v) { $temp=$v+$temp; 数组_push($result,$temp); } 回声结束($结果); 回声“
”; 打印(结果);

我认为
$a
是一个传递值的数组。如果不想更改大部分逻辑,请尝试这样做,只需创建两个临时变量即可

您可以使用静态变量来保持函数调用之间的和:

function custom_function($value) {
    static $var = 0;
    $var += $value;
    echo "$var\n";
}

custom_function(100);
custom_function(200);
输出:

100
300

您可以使用数组\u 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

为什么需要阵列?我不需要数组,如上所述,我需要求和
$value
,它是另一个文件中foreach循环的循环元素。输出数组已接收但未生成:|我无法执行
foreach($a
因为我在这里只得到了
$v
,上面的解决方案会起作用,但是在创建
foreach
循环的地方,我试图实现的是,接收到$v,现在我需要求和我的
$v
迭代接收到的所有值。@rishikulshreshta是的,然后只需使用fore中的两行即可ach将为您工作,它将保存您以前存储的所有值,甚至可以添加,如果您只想添加传递的所有变量,则可以在推送结束函数后使用结束函数