在php中,如何使用foreach减去多个相同数字的值?

在php中,如何使用foreach减去多个相同数字的值?,php,foreach,Php,Foreach,我有一个场景,我有一个默认值,但是 对于每个循环,我必须更改默认值以减去下一个值 值:例如: 在我的代码中有一个场景,我希望如下所示 例如: 假设我总共有3个数字: 4500这是我的默认值 2000年 三千 在foreach循环中,我有第一个值4500。现在在第一次迭代中,我将做第一个和第二个值的减法 i、 e:4500-2000=2500 现在, 在循环的*第二次迭代*中,我想要第一次迭代的结果,即2500 然后我将检查结果是否大于或小于三分之一 根据我将执行的细分,值3000。比如: 300

我有一个场景,我有一个默认值,但是 对于每个循环,我必须更改默认值以减去下一个值 值:例如:

在我的代码中有一个场景,我希望如下所示 例如:

假设我总共有3个数字:

4500这是我的默认值

2000年

三千

在foreach循环中,我有第一个值4500。现在在第一次迭代中,我将做第一个和第二个值的减法

i、 e:4500-2000=2500

现在,

在循环的*第二次迭代*中,我想要第一次迭代的结果,即2500 然后我将检查结果是否大于或小于三分之一 根据我将执行的细分,值3000。比如: 3000-2500=500

所以,现在在第三次迭代中,我希望500是我的默认值


等等

如果我正确理解了你想要什么,那就很简单了。就这样做吧:

$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;
}

让我知道这是否有帮助。

如果这三个值为1 4500 2 2000 3 2000,结果会是什么?这将有助于理解您的基本逻辑。然后它也会像上面的逻辑一样做:4500-2000=2500,然后在第二次迭代中,它会检查第一次迭代的结果,即2500,然后它会做相同的逻辑,如果其他条件,然后2500-2000=500。您能提供现有的代码吗?谢谢回复,让我检查一下您的解决方案我刚刚尝试了您的代码,但由于返回,它在第一次迭代后停止,因此我删除了返回,并尝试使用普通变量,但它在第三次迭代中不起作用意味着它在3000次迭代中不起作用。第二次迭代采用默认值4500,我不知道我是否完全遵循。但是你知道我已经从数组中删除了默认值,对吗?如果你再举一个例子,我可以理解你想要什么。你得到了我想要的,但是你的代码只在第一次迭代中有效。我希望在每个foreach循环上,我的默认值应该是不同的,并且对于每个迭代,它将来自上一个循环