Php 根据总数确定病例数(4,6,12)

Php 根据总数确定病例数(4,6,12),php,function,math,Php,Function,Math,我有一个购物车的项目,我可以运送的项目,如果我可以得到他们的4,6或12个案件平均没有剩余。我想我已经弄清楚了,但是如果我的购物车有8个项目,我的代码就失败了,因为它没有弄清楚uut可以在2个4包中工作,而是弄清楚了1个6个剩余2个。8当然不是唯一一个能让我失败的数字,但它是一个例子。如何让我的代码正确地解决这个问题?下面是我现在所拥有的,我仍然以$qTY var中的数量和金额结束,以8作为失败的示例 $num12s = $tQTY / 12; $num12s = explode(".", $

我有一个购物车的项目,我可以运送的项目,如果我可以得到他们的4,6或12个案件平均没有剩余。我想我已经弄清楚了,但是如果我的购物车有8个项目,我的代码就失败了,因为它没有弄清楚uut可以在2个4包中工作,而是弄清楚了1个6个剩余2个。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箱,但是如果我不能按照这个顺序填4箱,那么2箱4箱8箱就可以了,或者12箱6箱4箱22箱等等。

这不是完全没有必要吗,假设您只想知道是否有可能在不提供有关如何划分包的信息的情况下交付项目?在这种情况下,它非常简单:每个偶数>=4都可以工作,所以它只是:

$possible = ($number>=4 && $number%2==0);
编辑: 如果您还需要有关打包的更详细信息,我将创建以下函数:


假设您只想知道是否有可能在没有关于包如何分区的信息的情况下交付项目,那么这不是完全不必要的吗?在这种情况下,它非常简单:每个偶数>=4都可以工作,所以它只是:

$possible = ($number>=4 && $number%2==0);
编辑: 如果您还需要有关打包的更详细信息,我将创建以下函数:


听说过模算子吗?看,听说过模算子吗?看,对否决票的解释就好了。我愿意改进我的答案,但是如果没有人告诉我,我怎么知道有什么不好……我对我的问题做了一些修改,但我的问题是,如果我能,我需要先填12,如果我能,我需要填6,如果我能,我需要填6,如果我能,我需要填4,我需要填4。谢谢你,这正是我在寻找的,谢谢你花时间回答一些从未听说过的关于模运算符的问题对否决票的解释会很好。我愿意改进我的答案,但是如果没有人告诉我,我怎么知道有什么不好……我对我的问题做了一点修改,但我的问题是,如果我能,我需要先填12,如果我能,我需要填6,如果我能,我需要填6,如果我能,我需要填4,我需要填4。谢谢你,这正是我要找的,谢谢你花时间回答一些从未听说过的模运算符?