У меня есть массив как это:PHP, как найти следующий большее значение ключа из массива
$pricing = array(
"2" => 8.23,
"5" => 10.97,
"10" => 13.28,
"15" => 15.40,
"20" => 18.15,
"25" => 20.36,
"30" => 22.84,
"40" => 25.60,
"50" => 28.35,
"60" => 31.89,
"70" => 36.23,
"80" => 39.40,
"90" => 42.52,
"100" => 44.75
);
И у меня есть переменный, которая имеет клиент данного значения от 1 до 100.
Вопроса : какой лучший и быстрый способ найти следующий самый большой ключ, если сам ключ не существует?
E.g. У меня есть переменная со значением 12, и мне нужно получить цену за это. В соответствии с массивом здесь цена будет равна 15,40, потому что следующий самый большой ключ равен 15.
Я мог бы попробовать найти номер ключа «12», и если он не существует, я бы добавил один (12 + 1)) и повторите попытку, пока не будет найден следующий ключ, но есть ли какая-либо функция, которая может сделать это для меня или что-то еще лучше/быстрее?
Редактировать: Разъяснение структуры массива.
Array, как в примере здесь. Ключи упорядочены, как видно.
'foreach ($ priceicing as $ key => $ value)', 'if ($ key> = $ needle) break;' - это два основных строительных блока, которые вы можете использовать для составило простое решение. – deceze
@deceze верен, foreach, вероятно, самый быстрый и простой код для этого. Вероятно, вы должны установить значение $ price = $; и проверьте $ price с isset(). – OIS
@ mc.watras Отредактированный вопрос немного. Я не вижу, как влияют значения, но они такие же, как в примере. Ключи упорядочены, как в примере. Изменить: Извините, я смешал значения и ключи. Отредактировано снова. :) – GotBatteries