2014-01-29 38 views
0

我需要根据客户购物篮中的卡数来确定我的在线商店中需要多少个信封。所以:PHP - 产品柜台(奇数和偶数)

1 card = 1 Single Envelope 
2 cards = 1 Double Envelope 

我有以下检查:

$cards = 2 
if ($number % 2 == 0) { 
    // double envelope 
} 
else { 
    // single envelope 
} 

,如果他们订购1或2张牌,但如果他们订购更多,我需要有相同的逻辑,但加起来的信封,工作正常。所以如果他们有:

3 cards = 1 x Single & 1 x Double 
4 cards = 2 x Double 
15 cards = 1 x Single & 7 x Double 
20 cards = 10 x Double 
and so on... 

我该怎么做?

回答

0
$cards = 4; 
$doubles = floor($cards/2); 
$singles = $cards % 2; 
+0

完美!谢谢 –

1
$numDoubles = round($cards/2, 0, PHP_ROUND_HALF_DOWN); 
if($cards % 2 == 1) { 
    $numSingles = 1; 
} else { 
    $numSingles = 0; 
} 

被编辑为包含基于评论的回合。

+1

PHP中没有整数除法运算符。 1/2产生浮动0.5。值可以被转换为一个整数以将其向下舍入,或者round()函数可以更精确地控制舍入。资料来源:http://www.php.net/manual/en/language.types.integer.php –