Я работаю на ценовой оценки, которые являются based on the following array:PHP: Рассчитать разницу между значениями массива?
$items = 7;
$margins = array(
1 => 140, // Base price
3 => 120,
5 => 100,
10 => 60);
Выполнив следующую строку, я получаю значение ближайшие:
$margin = $margins[max(array_intersect(array_keys($margins),range(0, $items)))];
echo $margin; // Outputs 100'
Однако, если эта функция будет работать на массив с большим пространством между каждым значением, ближайшее значение будет действительно далеко от предыдущего, что приведет к цене, которая, вероятно, заставит клиента грустить ...
Как я могу получить более точный результат из этого - как если бы я вручную заполнил пробелы в массиве полей, чтобы покрыть все потенциальные количества элементов (что, безусловно, неэффективно)?
Благодаря
Не следует ли это выражать, используя какой-то расчет с участием процентов? – deceze 2010-11-26 09:10:45
К сожалению, для этого расчета не определено постоянное процентное значение ... – Industrial 2010-11-26 09:12:02
@ Промышленный: если у вас нет правила создания этих цен, то мы не можем вам помочь. Например, можно сказать, что цена уменьшается линейно. Или квадратично, или экспоненциально ... – NikiC 2010-11-26 09:20:45