在php中以K和M格式显示页面浏览数

relj7zay  于 2023-06-28  发布在  PHP
关注(0)|答案(2)|浏览(91)

我在php中创建了一个page_views_count脚本,以K格式显示页面浏览数。
下面的脚本正在工作,但它没有给予预期的结果。
这是脚本:

<?Php
$views=1060;
if($views > 1000)
{$views_count=$views *1/1000; 
 echo "$views_count k views";}
else{echo $views;}

此脚本以这种方式显示视图计数:

999  = 999 page views 
 1050= 1.05 k page views
 1060 =1.06 k page views 
 2300= 2.3 k page views

我希望它以以下格式显示结果:

999  = 999 page views 
 1050= 1 k page views
 1060 =1.1 k page views 
 2300= 2.3 k page views 
 2354= 2.4 k page views

有人知道怎么解决吗?在这个问题上的任何帮助都将非常感谢。
亲切的问候!
斯塔肯

rryofs0p

rryofs0p1#

我希望它会为你工作!更新代码

function countViews($num) 
{
    $units = ['', 'K', 'M', 'B', 'T'];

    for ($i = 0; $num >= 1000; $i++) {
        $num /= 1000;
    }

    return round($num, 2) . $units[$i];
}

你可以像这样使用函数:

<?php 
  echo countViews(1000);
  // output 1k
?>
amrnrhlw

amrnrhlw2#

PHP round()函数和PHP_ROUND_HALF_UP常量解决了我的问题。

<?Php
 $views=1060;
 if($views > 1000)
 {$views_count=$views *1/1000; 
 $views_k=round($views_count,PHP_ROUND_HALF_UP);
 echo "$views_k k views";}
else{echo $views;}
?>

输出:

999  = 999 page views 
 1060= 1 k page views
 1160 =1.2 k page views 
 2300= 2.3 k page views 
 2354= 2.4 k page views

DEMO
希望这对将来的人有所帮助。

相关问题