21,886
社区成员
发帖
与我相关
我的任务
分享
//根据查询到的结果,构造出这样一个数组
$ar_result = array(
10001 => 10, //假设10001为记录id,10为数量
10002 => 10,
10003 => 10
);
//计算出库,这里未考虑出库数量大于库存数量的情况
function deliver($amount, $ar_result) {
$ar = array();
foreach($ar_result as $k => $v) {
if ($amount > 0) {
if ($amount < $v) {
$ar[$k] = $v - $amount;
break;
}
else {
$ar[$k] = 0;
$amount -= $v;
}
}
}
return $ar;
}
//根据计算结果构造UPDATE语句
$ar = deliver(26, $ar_result);
/*
Array
(
[10001] => 0
[10002] => 0
[10003] => 4
)
*/