我有一个包含文章列表的网站。我想要包含一行说明数据库中有多少篇文章,但我不希望它显示确切的数量。
我希望它向下舍入到最接近的10,所以例如对于105篇文章我希望它说“100+”等。
我将如何做到这一点?
答案 0 :(得分:5)
答案 1 :(得分:3)
要做类似的事情,你必须使用base = 10的对数并将其四舍五入
$exp= floor(log($num)/log(10));
$num = pow(10,$exp)."+";
这适用于10,100,1000 ecc,我认为最好按照你的要求行事。
答案 2 :(得分:2)
$count = 105;
$nearest10 = floor($count / 10) * 10;
答案 3 :(得分:1)
printf("%d0+", $count * 0.1);
或
echo substr($count, 0, -1), '0+';
round
Docs函数也支持开箱即用:
round($count, -1, PHP_ROUND_HALF_DOWN);
但缺少加号。
答案 4 :(得分:0)
首先,您需要使用MySQL的COUNT()
聚合函数来获取结果总数,或类似的结果。
然后你需要使用模数运算符(%
)和10作为基数,然后从主结果中扣除该值,如下所示: -
$sql = "SELECT COUNT(id) AS `total_num_records` FROM `table`";
$resource = mysql_query($sql);
$result = mysql_fetch_array($resource);
$totalRecords = $result['total_num_records'];
if ($totalRecords > 0) {
$remainder = $totalRecords % 10;
$showHumanFriendlyRecords = ($totalRecords - $remainder);
$strHumanFriendlyRecords = $showHumanFriendlyRecords . "+";
}
希望它有所帮助。