我有一个物品购物车,如果我可以将物品均匀放入 4,6 或 12 箱中,我可以运送物品,没有剩余。我想我已经弄清楚了,但是如果我的购物车有 8 件商品,我的代码失败了,因为它会计算出 1 6 剩下 2 件,而不是计算出它可以在 2 4 包中工作。8 当然不是唯一可能导致我必须失败的数字,而是它的一个例子。我怎样才能让我的代码正确地解决这个问题?以下是我现在所拥有的,我仍然以 $qTY var 中的金额和金额 8 作为它失败的示例。
$num12s = $tQTY / 12;
$num12s = explode(".", $num12s);
$numCases = $num12s[0];
if($num12s[0] >= 1){
$doSub = $num12s[0] * 12;
$tQTY = $tQTY - $doSub;
}
$num6s = $tQTY / 6;
$num6s = explode(".", $num6s);
$numCases = $numCases + $num6s[0];
if($num6s[0] >= 1){
$doSub = $num6s[0] * 6;
$tQTY = $tQTY - $doSub;
}
$num4s = $tQTY / 4;
$num4s = explode(".", $num4s);
$numCases = $numCases + $num4s[0];
if($num4s[0] >= 1){
$doSub = $num4s[0] * 4;
$tQTY = $tQTY - $doSub;
}
我需要先装一个 12 箱,如果我不能这样做,我接下来需要装 6 箱,如果我不能这样做,我需要装 4 箱,但如果我不能按这个顺序装箱 2 箱4 个(适用于 8 个手推车)或 12 个案例、6 个案例和 4 个案例(适用于 22 个手推车)等。