我目前正在建立一个需要根据内部行动/得分排名的系统.分数本身可以在0到20000之间的任何范围内.
我需要我创建的功能来排名用户以返回1-100之间的值.如果这是不可能的,那么将100以上的结果集返回为100就可以了.我目前在确保创建用于确定分数的对数算法时遇到困难.
我试过以下功能:
echo 1 + sqrt(500 + 2000 * $score) / 50;
但是,对于较低的值,此返回的结果不会变得足够大,而对于较高的值而言,该结果的指数增加.
在比例的低/平均结束时的示例输入分数是:
0.15
1
7
12
在秤的高端输入示例
236.4
1211
17899.70
任何帮助将不胜感激.现在已经坚持了几天.上面的函数是我迄今为止的最佳尝试,但是建议低/中结果之间没有足够的差异,而较高/结果之间的差异太大.
谢谢,
丹尼尔