首页 > 解决方案 > 如何使用foreach在php中减去具有相同数字的多个值?

问题描述

我有一种情况,我有一个默认值,但在 foreach 循环中我必须更改该默认值以减去它的下一个值:例如:

我的代码中有一个场景,我想要下面的例子:

假设我总共有 3 个数字:

  1. 4500 (这是我的默认值)

  2. 2000

  3. 3000

    在 foreach 循环中,我的第一个值是 4500。现在first iteration我将减去第一个值和第二个值

    i.e : 4500 - 2000 = 2500

    现在,

    *second iteration*循环上我想要第一次迭代的结果i.e. 2500 然后我会检查结果是否大于或小于第三个值 3000,根据我会做减法。像 : 3000 - 2500 =500

    所以,现在在third iteration i want 500 to be my default value.

等等。

标签: phpforeach

解决方案


如果我正确理解你想要什么,那很简单。只需执行以下操作:

$values = [2000, 3000];
$default = 4500;

foreach($values as $value) {
    if($value < $default) {
        $default = $default - $value;
    } else {
        $default = $value - $default;
    }
}

return $default;

而且,如果你想要它作为一个函数,它也很简单:

function finalValue($default, $values) {
    foreach($values as $value) {
        if($value < $default) {
            $default = $default - $value;
        } else {
            $default = $value - $default;
        }
    }
    return $default;
}

推荐阅读