PHP:在无序数组

时间:2018-05-08 05:56:10

标签: php arrays

我有一个无序的数字数组,我想找到一个变量位于该数字范围内的位置,并将其表示为0到1之间的数字。

  • 如果变量是数组输出1中的最大数字。
  • 如果变量是数组输出0中的最小数字。
  • 如果变量位于数组输出0.5中的最高和最低数字之间的中间位置。

我打算使用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.
}

1 个答案:

答案 0 :(得分:2)

如果你想找到与其他数字相比有多大的数字(没有在数组中找到它的位置),那么计算($find_this - $lowest) / ($highest - $lowest)应该有效。

它返回0表示最小值,1表示最大值,所有其他值的比率(该值的正好是最小值和最大值的平均值,得到0.5)。