php - 根据评论计算 5 星的评分
问题描述
我有好评,我也有差评。我需要根据这篇评论计算帖子的评分。
例子:
- 帖子 1 有 1 个好评和 2 个差评
- 帖子 2 有 12 条好评和 5 条差评
- 帖子 3 有 0 个好评和 0 个差评
我如何计算评分?我需要帖子获得 5 星。我需要得分不超过 5 星。可能我需要这个公式吗?
$score = ($good_reviews * $bad_reviews) / 5; //get rating stars
但我没有得到 5 个或更少的数字。我怎样才能正确地做到这一点?
解决方案
这个公式不会给你你需要的东西。它只会将好与坏相乘并除以 5。例如 ((100 good * 20 bad) / 5) = 400。5 分之多!
如果您需要获得高达五颗星的分数,您将需要使用范围。
计算好与坏之间的百分比,然后进行 if 检查。
例如:
$percentage = (($good - $bad) / $good) * 100;
if($percentage => 100) {
//5 starts
} else if ($percentage < 100 && $percentage => 80) {
//4 stars
} else if ($percentage < 80 && $percentage => 60) {
//3 stars
} else if ($pecentage < 60 && $percentage => 40) {
//2 starts
} else {
//1 star
}
这只是一个基本的例子。有不同的方法来解决这个问题。您需要根据自己的需要对其进行调整,并尝试它是否适合您。
我做的很快,所以没有测试它。请检查,看看它是否适合你。我只是想给你一个想法。
推荐阅读
- sql - SQL Oracle,选择删除文本并格式化日期
- automation - 如何将 weblogic 管理控制台参数复制到多个站点
- c# - C# .NET 应用程序的初始分发问题
- asp.net-core - RequiredIf 条件验证核心
- javascript - 根据文件扩展名覆盖 webpack 中捆绑的内容
- c++ - 如何将空格添加到 concat 预处理器宏?
- matlab - 如何在 MATLAB 中的“日期时间”数据类型和数值数据类型之间绘制一个矩形
- html - 我正在创建 html eblast,当我发送测试消息时,所有图像和视频都会从它的位置移动
- python - Python Discord.py - 检测消息是否调用任何命令
- javascript - JavaScript - 如何获取项目的 $key 的 $value?