public function calculation(){
//总金额
$total = 100;
//依次递减金额
$arr = [
50,
30,
20,
20,
20,
20,
10
];
foreach($arr as $k=>$v){
if($k == 0){
$money = $total - $v;
}
if($k >0){
$money = $money - $v;
}
$result[] = [
'id' => $k,
'cost' => $money
];
}
//使用break将会在出现第一个负数时跳出循环 不使用break会将全部结果返回
foreach($result as $k=>$v){
if($v['cost'] >= 0){
$data[] = $v;
}
if($v['cost'] < 0){
$data[] = $v;
break;
}
}
return $data;
}
使用break的结果
不使用break的结果