我有一个无序的数字数组,我想找到一个变量位于该数字范围内的位置,并将其表示为0到1之间的数字。
我打算使用min()
和max()
来查找数组的最高点和最低点,然后根据它进行计算......但我很难找到变量位于数组中并将其表示为0到1之间的数字。
例如:
$my_array = array( 2.51, 3.63, 10.98, 6.39, 1.54, 6.02 );
$find_this = 3.63;
function compare_to_range {
$highest = max($my_array);
$lowest = min($my_array);
Something to show where $find_this sits within those two points.
}
答案 0 :(得分:2)
如果你想找到与其他数字相比有多大的数字(没有在数组中找到它的位置),那么计算($find_this - $lowest) / ($highest - $lowest)
应该有效。
它返回0表示最小值,1表示最大值,所有其他值的比率(该值的正好是最小值和最大值的平均值,得到0.5)。