php - 如果数字太大,请使用缩写
问题描述
我正在创建一个社交网站。我想向人们展示他们喜欢的总数、关注者和他们关注的人。现在的方式,它显示了喜欢、关注者和关注的总数,如果它太长,它会超过页面上的其他单词。
那么如何使用缩写,如:K(千)、m(百万)等?这就是我现在所拥有的。
$stmt = $con->prepare('SELECT name, username, num_likes, profile_pic FROM users WHERE user_closed = "0"
ORDER BY num_likes DESC LIMIT 100');
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($name, $username, $num_likes, $profile_pic);
function convert($num_likes)
{
$num_likes = $number / 1000;
return $num_likes . 'k';
}
这就是我显示结果的方式:<p> Total Likes: " . $num_likes ."</p>
我尝试了以下方法:
解决方案
首先,你的功能:
function convert($num_likes)
{
$num_likes = $number / 1000;
return $num_likes . 'k';
}
将无法按预期工作,因为它转换为相反的方式:) 这是更新版本:
function convert($num_likes)
{
$number = $num_likes / 1000;
return $number . 'k';
}
第二点。您应该在某处使用该功能...例如您的行(实际上只是其中的一部分):
<p> Total Likes: " . $num_likes ."</p>
一定是:
<p> Total Likes: " . convert($num_likes) ."</p>
最后,使用这个答案,我们可以将convert
函数修改为:
function convert($n) {
if ($n < 1000) {
$n_format = number_format($n);
} else if ($n < 1000000) {
// Anything less than a million
$n_format = number_format($n / 1000, 3) . 'k';
} else if ($n < 1000000000) {
// Anything less than a billion
$n_format = number_format($n / 1000000, 3) . 'M';
} else {
// At least a billion
$n_format = number_format($n / 1000000000, 3) . 'B';
}
return $n_format;
}
现在我们可以将所有数字转换为数十亿。
游乐场:单击。
推荐阅读
- javascript - 我们可以在对字符串数组进行排序时实现以下行为吗?
- node.js - 为什么要在复制 package.json 后复制 dot dot?
- javascript - 为什么只有单击两次按钮才写入js cookie?
- python - 创建一个新列,该列取决于熊猫中其他列的值范围
- ejs - “chat.ejs”文件显示在“index.ejs”文件之前
- css - 在 NextJS 组件中使用 css 而不将其作为对象导入
- sql - BIgQuery/SQL 中的条件选择
- asp.net-core - 如何使用 FusionAuth API 密钥对 HotChocolate Graph API 进行身份验证/授权
- javascript - 单击刷新按钮时,chrome显示ajax响应
- mysql - 将规范化的逗号分隔字段插入新表