如何使用PHP从数组值中减去数字?

我有这个数组.

$val = array(1, 0, 2, 1, 1);

我想从$val数组中减去3.5,就像每个元素没有变成负数那样:

$val = array(0, 0, 0, 0.5, 1)
最佳答案
迭代数组项并在循环中检查目标值是否为循环项,从目标值中减去项值.如果循环项大于目标值,则从循环项中减去目标值.

$val = array(1, 0, 2, 1, 1);
$subtract = 3.5;
foreach ($val as $key => $item){
    if ($subtract >= $item){
        $subtract -= $item; 
        $val[$key] = 0;
    } else {
        $val[$key] -= $subtract;
        $subtract = 0;
    }
}

见结果demo

转载注明原文:如何使用PHP从数组值中减去数字? - 代码日志