使用PHP向下舍入到最接近的10000

Cur*_*tis 4 php rounding

如果我有下面的代码,抓住一个array值,并增加了它们放在一起,我怎么能那么圆他们下来使用PHP到最近的10000?

这是我目前的代码

$rows = $db->get("sales");
$sales = 0;
foreach($rows as $row) {
    $stock = $sales + $row['sales'];
}
return $sales;
Run Code Online (Sandbox Code Playgroud)

一个示例结果将是

146740
Run Code Online (Sandbox Code Playgroud)

我怎么能把它作为返回

140000
Run Code Online (Sandbox Code Playgroud)

虽然如果我有一个超过100万的数字,我怎么能只返回100万

Bar*_*mar 8

除以10000,用于floor向下舍入为整数,然后乘以10000:

$x = 146740;
$x = 10000 * floor($x/10000);
Run Code Online (Sandbox Code Playgroud)

或减去剩余物:

$x = 146740;
$x = $x - ($x % 10000);
Run Code Online (Sandbox Code Playgroud)

要将此扩展到100万,您可以:

if ($x > 1000000) {
    $divisor = 1000000;
} elseif ($x > 10000) {
    $divisor = 10000;
} else {
    $divisor = 1;
}
$x = $x - ($x % divisor);
Run Code Online (Sandbox Code Playgroud)