【发布时间】:2012-06-26 15:45:52
【问题描述】:
我正在尝试找到最接近给定预算的产品
$array = array(
'productname1' => 5,
'productname2' => 10,
'productname3' => 15
)
$budget = 12;
我曾尝试使用类似以下的函数来查找最接近的值,但它只返回最接近预算的数字而不是产品名称。
function closest($array, $number) {
sort($array);
foreach ($array as $a) {
if ($a >= $number) return $a;
}
return end($array);
}
我不禁认为有一个更好的实现。任何帮助将不胜感激。
【问题讨论】:
-
您想要最接近的值吗?还是第一个高于该值的值?因为预算为 12,最接近的值为 10 - 您需要检查预算与价格之间差异最小的产品。
-
@andrewsi Nearest 没问题。我对变量有点误导,它不会在这里出现。