我们希望舍入一个已经约束为1到1,5,15,25,50,100的整数。这就是我提出的:
function roundDown($count) {
$prev = 1;
foreach ([5, 15, 25, 50, 100] as $limit) {
if ($count < $limit) {
return $prev;
}
$prev = $limit;
}
return 100;
}
它的工作但是,我感觉不太好。
答案 0 :(得分:1)
function roundDown($count) {
foreach ([100, 50, 25, 15, 10, 5, 1] as $limit) {
if ($count >= $limit) {
return $limit;
}
}
return $limit;
}
感觉更好?
答案 1 :(得分:1)
此:
return max(array_filter([100, 50, 25, 15, 5, 1], function ($x) use ($count) { return $x < $count; }) ?: [1]);
碰巧也有效,但它不是特别易读。