从foreach循环php接收的和值

  • 本文关键字:foreach 循环 php 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 = [];
$array[] = $value;
print_r($array);
}

问题是,使用任何print_r,我得到的输出为:

Array
(
[0] => 100
)
Array
(
[0] => 200
)

我需要的是300,即100+200的总和——我怀疑$value是循环变量的原因。

您可以使用静态变量来维护函数调用之间的总和:

function custom_function($value) {
static $var = 0;
$var += $value;
echo "$varn";
}
custom_function(100);
custom_function(200);

输出:

100
300

3v4l.org 上的演示

$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个临时变量

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

最新更新