这是让我难过的一个。在PHP5中工作。
我正在为一个客户构建一个商店应用程序,该应用程序使用来自大型代理商的Web服务,因为他是一名经纪人。此网络服务要求最终用户购买的商品具有一定数量,否则订单将被视为不符合购买条件。
我必须制作仅包含符合条件的数量的下拉选项框。他们的规则如下:
如果数量大于12,则允许任何数量,但只留下一个项目
如果数量少于12且数量均匀,则只允许购买偶数
如果数量小于12并且所述数量为奇数,则允许除了只剩下一个项目的数量之外的任何数量。
我对确定下拉内容的条件应如何构建以适应这一点感到困惑。我如何通过条件提前知道最终数量与用户请求数量之间是否只留下一个用于购买并因此否定它?
我无法想象为什么服务发行人没有这样做,所以返回了一系列符合条件的数量而不是硬数字。另请注意,我已经设法制定了另外两条规则。
非常感谢任何帮助!
答案 0 :(得分:1)
if($avail>12 || $avail%2) {
$step = 1; // all qtys for large avail or odd avail
} else {
$step = 2; // even qtys for small even avail
}
$options = array();
for($i = $avail-($step==1); $i > 0; $i-=$step) { // skip qty=avail for step=1
$options[] = $i;
}
答案 1 :(得分:1)
我不知道PHP的语法;这是一些伪代码:
if(quantity >= 12 or quantity%2 == 1)
{
dropdown.add(quantity);
for(allowed = quantity-2; allowed >= 1; allowed--)
dropdown.add(allowed);
}
else
{
for(allowed = quantity; allowed >= 2; allowed -= 2)
dropdown.add(allowed);
}
答案 2 :(得分:0)
如果可用数量是q:
如果数量大于12,则允许任何数量除外,只剩下一个项目 if(q> 12)
//允许所有数量达到q-2
如果数量少于12且数量均匀,则只允许购买 if(q< 12&& isEven(q))
//允许所有偶数量达到q
如果小于12的数量可用并且所述数量是奇数,则允许除了仅剩下一个项目的数量之外的任何数量。 if(q< 12&& isOdd(q))
//允许所有数量小于q-2