首页 > 解决方案 > 按键计算数组值

问题描述

我有一个数组问题,我可以计算相同的整数值吗?请在底部我的示例数组

int = -21;

我的第一个数组

Array
(
    [580] => 13.000000
    [582] => 8.000000
    [485] => 7.000000
)

我需要的是算法

Array
(
    [580] => 13.000000+int // sum -8
    [582] => 8.000000+(-8) // 0 
    [485] => 7.000000
)

结果之后

Array
(
    [580] => 8
    [582] => 0
    [485] => 7.000000
)

标签: phparrays

解决方案


如果我正确理解了这个问题:

$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如您在评论中所述)

这是一个演示


推荐阅读