Я пытаюсь найти ближайший продукт данного бюджетаПоиск имени массива значения, ближайшего к переменной?
$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
@andrewsi Ближайшее в порядке. Я немного вводил в заблуждение от переменных, он не будет реализован, как он может появиться здесь. – MarkRobbo