Есть массив с величинами наценок. Наценка определяется в зависимости от того, с какого склада идёт продажа. Например, если продажа с третьего склада, то наценка 80%: Код (PHP): $margin = array(50, 60, 80, 100); Иногда бывают исключения для данного товара. Например, если продажа пошла со второго склада, для которого обычно действует наценка 60%, то применять наценку 100%. Поэтому в функцию, которая вычисляет цену, посылаю аргументом массив с исключениями: Код (PHP): $exception = array(2 => 100); Как теперь организовать расчёт цены? Варианты: 1) Предварительно переопределить $margin с учётом $exception. То есть: - выбрать элементы из $exception; - по ключу, который теперь индекс, изменить значение в $margin. Только $margin у меня global, поэтому я не хочу в него вносить изменения. Вероятно, нужно создать промежуточный массив с наценками. 2) Определять наценку при формировании цены для каждого склада. - в ходе перебора складов (их 4 всегда), определить индекс склада; - по индексу, который теперь ключ, определить новую наценку из $exception. Вопросы: 1) Как на PHP написать каждый из вариантов? 2) Какой вариант лучше? Добавлено спустя 5 минут 50 секунд: Написал по второму варианту: Код (PHP): $m = $margin[$i]; foreach($exception as $exNum => $exMar){ if($exNum == ($i + 1)){ $m = $exMar; }; }; Есть ли какие-то встроенные функции по манипуляции массивами для данного примера? PHP, JavaScript, SQL и другой код пишите внутри тегов Код ( (Unknown Language)): [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
"лучше" это всегда субъективная оценка. поэтому не претендую ни на что, вот мои субъективные "мета-правила": правила надо перебирать порядке убывания приоритета. как только что-то подошло к нашим данным, возвращаем итог. не надо жалеть букв, главное чтобы код оставался понятным: функции с внятными именами будут легче в сопровождении, чем какие-то загадочные наборы цифр в массивах.
Согласен, тогда поделитесь практическим опытом. В функцию приходит массив, состоящий из величин торговых наценок. Я перебираю массив и переменной присваиваю значение элемента массива. Как бы вы назвали такой Массив и такую Переменную с элементом массива? Как это делают профессионалы?
Однажды ученик спросил у мастера: — Долго ли ждать перемен к лучшему? В чем смысл жизни и что такое любовь? — А мне почем знать? Я обычный токарь, отойди от шпинделя, — ответил мастер.
Однажды у сороконожки разболелись ноги. Она пошла к мудрой сове за советом: - Тебе нужно стать белкой. У белки всего две ноги, а не сорок, и твоя боль уменьшится в двадцать раз! - Ответила Сова. - Отлично! Но как мне стать белкой? Я ведь сороконожка! - Это не ко мне! Я решаю только стратегические проблемы.