微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从几个较小的数量中减去一个大的数量

如何解决从几个较小的数量中减去一个大的数量

我有一个数组:

array(
key1  => 2,key2 => 5,key3 => 10,keyn => n.
)

我试图从中减去 12 并相应地减少值并更新数组:

key1  => 0 (2 - 12 is -10,so I leave 0)
key2 => 0 (10 left from the first subtraction,so I subtract 10 from the second value,as the result is -5,I leave 0)
key3 => 5 (5 left from the above subtraction so I subtract 5 from 10)
keyn => n (other values not affected by the subtraction should remain unchanged).

我被它卡住了。我很感激我如何解决问题的任何提示

解决方法

试试这个:

$input = array(
    "key1"  => 2,"key2" => 5,"key3" => 10,);

$rest = 12;
foreach ($input as $key => $value) {
    $newValue = $value - $rest;
    $rest = 0;
    if ($newValue < 0) {
        $rest = $newValue *= -1;
        $newValue = 0;
    }
    $output[$key] = $newValue;
}

var_dump($output);

输出:

array(3) {
  ["key1"]=>
  int(0)
  ["key2"]=>
  int(0)
  ["key3"]=>
  int(5)
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。