我有一個包含文章列表的網站。我想添加一行說明數據庫中有多少文章,但我不希望它顯示確切的數字。PHP中的大概計數
我想它四捨五入到最接近的10,因此,例如爲105篇,我想它說「100+」等
我怎麼會去這樣做呢?
我有一個包含文章列表的網站。我想添加一行說明數據庫中有多少文章,但我不希望它顯示確切的數字。PHP中的大概計數
我想它四捨五入到最接近的10,因此,例如爲105篇,我想它說「100+」等
我怎麼會去這樣做呢?
$count = 105;
$nearest10 = floor($count/10) * 10;
也標記了這個答案。這與已發佈的答案相同,都表示「10分鐘前」,我只能選擇一個可接受的答案。 – 2012-04-04 06:42:05
printf("%d0+", $count * 0.1);
或
echo substr($count, 0, -1), '0+';
而且round
Docs功能不支持開箱即用,太:
round($count, -1, PHP_ROUND_HALF_DOWN);
但加號丟失。
+1替代方法(但你不需要'%u0 +'來代替?)。另外,不會'圓($ count,-1);'工作? – 2012-04-04 06:38:05
如果你不想搞亂整數限制:'printf(「%。0F0 +」,$ count,floor($ count * 0.1));' - '%u'不能處理那麼多,請參見http: //codepad.org/cQ9Nu619 – hakre 2012-04-04 06:43:04
哦!沒關係,我很困惑'%d'的浮動表示。 – 2012-04-04 06:54:26
做同樣的事情,你必須使用對數與基地= 10和圓形它
$exp= floor(log($num)/log(10));
$num = pow(10,$exp)."+";
這適用於10,100,1000 ECC,我覺得它做的更好,你問什麼。
我同意,從我+1。 – 2012-04-04 06:36:51
接受的答案似乎適用於我所需要的,並且我用很多不同的數字嘗試了它,並且它有點短。我會標記這個答案,但它也適用。 – 2012-04-04 06:40:47
首先,您將需要使用MySQL的聚合函數來獲取結果的總數,或類似的東西。
然後,你將需要與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 . "+";
}
希望它可以幫助。
所以18155會是18150+? – 2012-04-04 06:27:15
是的,這是正確的。 – 2012-04-04 06:32:37
我對所有的答案感到莫名其妙。 xP – 2012-04-04 06:36:03