PHP - 给定一定数量的最接近数字?

时间:2013-02-27 08:22:30

标签: php numbers closest

我正在修改OpenCart的一个产品过滤器,以按价格过滤/分出产品。我所做的是获取属于某个类别的所有产品并提取它们的价格以将它们放在滑块中,但这不是优雅或“专业”,我想编写一个合适的解决方案。

假设我有以下价格:125,270,517,1680和14790.我想做的(理想情况下)是获得最高数字(在这个简短的例子中为14790),从中得到类似的东西'15000',所以我可以将它除以给定因子(如100)并将其放入滑块。

有没有PHP函数来进行这种计算?

4 个答案:

答案 0 :(得分:3)

如果我理解你的问题,并且你要求四舍五入到最接近的100,那么就没有特定的功能,但是通过一些数学运算,你可以舍入到最接近的100,如下所示: / p>

$price = ceil($price / 100) * 100;

使用:

$price = ceil($price / 1000) * 1000;

将四舍五入到最近的1000。

答案 1 :(得分:2)

获取最大数量,然后将其四舍五入到最接近的千位?

<?php

$largest = max(125, 270, 517, 1680, 14790);

$nearest = ceil($largest / 1000) * 1000;

答案 2 :(得分:1)

您可以循环浏览数字,记住最高价值。这是常见的编码实践。 (好吧,确实有一个max()函数, echo max(1,3,5,6,7); // 7

然后你可以用你的因子除以最高数字,取你得到的整数并加一,然后再乘以一个因子然后你去。

答案 3 :(得分:1)

这样做:x = floor(14790/100); floor函数返回下一个最小整数值