Php 按键计算数组值
我有一个数组问题,我可以计算相同的整数值吗。 请把我的示例放在底部Php 按键计算数组值,php,arrays,Php,Arrays,我有一个数组问题,我可以计算相同的整数值吗。 请把我的示例放在底部 int = -21; 我的第一个阵列 我需要的是算法 Array ( [580] => 13.000000+int // sum -8 [582] => 8.000000+(-8) // 0 [485] => 7.000000 ) 事后结果 Array ( [580] => 8 [582] => 0 [485] => 7.000000 )
int = -21;
我的第一个阵列 我需要的是算法
Array
(
[580] => 13.000000+int // sum -8
[582] => 8.000000+(-8) // 0
[485] => 7.000000
)
事后结果
Array
(
[580] => 8
[582] => 0
[485] => 7.000000
)
如果我正确理解问题:
$array = [
580 => 13.000000,
582 => 8.000000,
485 => 7.000000,
];
// The initial number to sum
$int = -21;
foreach ($array as $key => $val) {
// Add the int number to the current element.
$array[$key] = $val + $int;
// Now replace $int with the new sum so we'll use that
// in the next iteration instead
$int = $array[$key];
}
较短的版本为:
foreach ($array as $key => $val) {
$int = $array[$key] = $val + $int;
}
这将给你:
Array
(
[580] => -8
[582] => 0
[485] => 7
)
(如您在评论中所述,第一个值是-8
)
嘿,拉米尔。不幸的是,不清楚你在问什么。考虑更新你的问题以更清楚地解释问题(不要忘记你已经尝试过的)来帮助可能愿意帮助的人。对于第一个键:<代码> 13 000000 + int <代码>将导致<代码> -8 < /代码>,但是在结果数组中,它有< <代码> 8 > /代码>([4]=-8)[582 ]=0(485)。=>7.000000)你的问题不是这么说的。。。它说你想要
[580]=>8
,而不是-8
。是哪一个?如果有什么不同的话,那就是这个评论让问题变得更不清楚了。我知道你是如何得到-8
,但同样,你的问题的预期结果是[580]=>8
。是哪一个<代码>[580]=>8或[580]=>-8
?我知道你将如何得到-8
,但不是8
。这就是困惑所在。谢谢,伙计,我需要$int=$array[$key];这line@RamilHuseynov-如果这个答案解决了您的问题,请接受它,以便其他人知道它已经解决。解决按钮在哪里?在我的答案的左侧(在上方)应该有一个“接受”按钮(或者更确切地说是一个复选标记)。点击那个。您还可以阅读以下内容:
Array
(
[580] => -8
[582] => 0
[485] => 7
)