PHP查找表

PHP查找表,php,Php,我手里拿着一张图表,看起来像下面这样。这些值可能永远不会改变 +----------------------+ |Rating | >= | <= | +----------------------+ | 100 | 0.0 | 0.112 | | 99 | 0.113| 0.156 | | 98 | 0.157| 0.201 | | 97 | 0.202| 0.309 | | ... | ... | ... | +------------

我手里拿着一张图表,看起来像下面这样。这些值可能永远不会改变

+----------------------+
|Rating | >=   | <=    |
+----------------------+
| 100   | 0.0  | 0.112 |
|  99   | 0.113| 0.156 |
|  98   | 0.157| 0.201 |
|  97   | 0.202| 0.309 |
| ...   | ...  | ...   |
+----------------------+
+----------------------+

|评级|>=|您可以制作范围下边缘的数组:

$ratings = array( 100 => 0, 99 => 0.113, 98 => 0.157, 97 => 0.202 ...);
然后从数组中找到大于输入值加1的最小值。然后返回该值的键

但是。。。就我个人而言,我认为如果您已经使用数据库,那么
sqlbetween
语句将是最佳选择。 使用数据库,您也可以仅存储具有同等评级的范围的下边缘。将来更改值会更容易,然后您会有类似的

SELECT MAX(rating) FROM chart WHERE $val < lower

您是否希望
get\u rating
查询数据库?您使用的是哪种数据库?它可以是数据库或数组。这些值可能永远不会改变,所以使用数据库似乎是一种浪费。你能把你的想法纳入你的问题吗?对我来说太模糊了。如果你不明白,那么你应该跳过这个问题。我不只是在寻找任何解决方案,也不需要“帮助”,我在寻找关于最佳解决方案的理论讨论。不过谢谢。我不是不明白你的问题。只是你问问题的方式太模糊了。看看张贴的两个答案。
+--------------+
|Rating | lower|
+--------------+
| 100   | 0.0  |
|  99   | 0.113|
|  98   | 0.157|
|  97   | 0.202|
| ...   | ...  |
+--------------+