У меня есть приложение, которое показывает продажи в магазине. Это многомерный массив, поэтому каждое значение в корневом массиве представляет собой массив, содержащий [sales]
, [cost]
, [date]
и т. Д. Для данного дня, к которому он относится. ОК, для каждого магазина есть 2 массива. Один для проверенных номеров, а следующий для непроверенных номеров. Неподтвержденные получают сразу после проверки, поэтому первая дата в непроверенной будет через один день после проверки.
ОК, пока все в порядке.
Но когда я показываю общие продажи по всем магазинам, мне нужно объединить все проверенные и все непроверенные цифры, чтобы получить общее количество. Вот сложная часть. Проверенный массив должен соответствовать только дате наименьшего подтвержденного хранилища, а все остальные должны быть непроверенными. Например: если на определенную дату все магазины имеют проверенные номера, но одно из них не подтверждено на эту дату, то все они должны быть проверены на эту дату. Таким образом, создается впечатление, что необходимо создать проверенную итоговую сумму и непроверенную итоговую сумму, проверить каждый массив и, если они все проверены, добавить в проверенный массив, иначе, если таковые имеются, добавить непроверенный массив.
Я надеюсь, что с тех пор, я изо всех сил стараюсь объяснить ситуацию. У меня есть алгоритм, который работает, но он настолько сложен, что я должен изучать его вечно каждый раз, когда работаю над ним, и я надеялся, что найдется более элегантное решение.
Спасибо !!!
Вот как выглядит структура массива
$verified (
[0](sales => 355, cost=> 233, date=> 2008-03-01)
[0](sales => 235, cost=> 133, date=> 2008-03-02)
[0](sales => 435, cost=> 143, date=> 2008-03-02)
)
$unverified (
[0](sales => 232, cost=> 133, date=> 2008-03-03)
[0](sales => 335, cost=> 233, date=> 2008-03-04)
[0](sales => 535, cost=> 243, date=> 2008-03-05)
)
Это фиктивные данные, но в действительности будет больше записей. Есть эти 2 массива для каждого магазина. Дата не будет отображаться для обоих массивов; дата будет только в непроверенной или проверенной.
Но если у вас есть несколько наборов этих массивов для каждого магазина и вам нужно объединить их, непроверенные номера разных магазинов начнутся в разные даты. storeA может быть проверено до 15-го, а storeB может быть проверено до 7-го. Поэтому мне нужно построить новый $verified
и новый $unverified
из всех единиц для каждого магазина. Но я не могу просто объединить все проверенные, потому что они охватывают разные диапазоны дат. Поэтому, если все даты проверены, они остаются проверенными в новом главном массиве, но если они не проверены, им нужно перейти к новому главному непроверенному массиву.
Если этого не произойдет, так как мне жаль.