从foreach循环php接收的和值
我想对自定义函数中的值求和,其中接收的参数/参数是另一个文件中foreach循环的变量 代码如下:从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
// $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将为您工作,它将保存您以前存储的所有值,甚至可以添加,如果您只想添加传递的所有变量,则可以在推送结束函数后使用结束函数