>有人对如何创建一个泛型函数以更短的方式做到这一点有任何想法吗?
if (($item['Quantity'] > 9) && ($item['Quantity'] < 20)) { $bogo_item = 1; }
else if (($item['Quantity'] > 19) && ($item['Quantity'] < 30)) { $bogo_item = 2; } else if (($item['Quantity'] > 29) && ($item['Quantity'] < 40)) { $bogo_item = 3; } else if (($item['Quantity'] > 39) && ($item['Quantity'] < 50)) { $bogo_item = 4; }
...
等等... 基本上,我想创建一个函数来检查和比较变量 $item['数量'],看看它是否适合其中一种情况。
这是一个典型的查找问题...
您可以创建一个三元组数组:(我不是PHP程序员,但这里有一些JavaScript)
// position 0=lower limit, position 1=upper limit, position 2=bogo item value
var values = [ [9, 20, 1], [19, 30, 2], [29, 40, 3], [39, 50, 4] ];
然后你可以编写一个泛型循环:
for (var i= 0; i < values.length; ++i) {
if ((item.quantity > values[i][0] && (item.quantity < values[i][1]) {
return values[i][2];
}
}
呵呵