Группируйте строки двумерных массивов по нескольким столбцам и только в том случае, если значения даты являются последов ⇐ Php

Кемеровские программисты php общаются здесь
Anonymous
Группируйте строки двумерных массивов по нескольким столбцам и только в том случае, если значения даты являются последов

Сообщение Anonymous »

У меня есть несколько ассоциативных массивов, которые я хочу объединить, если все значения, кроме даты начала, одинаковы. Если два массива действительно одинаковы, я хочу объединить их и создать новый элемент enddate, чтобы startdate и enddate отображали диапазон дат. Все даты в пределах диапазона должны быть представлены в исходных массивах, т. е. если дата отсутствует, даты по обе стороны от нее нельзя объединять.

Код: Выделить всё

Array('color'=>'red','size'=>'large','shape'=>'circle','startdate'=>'2011-08-17')
Array('color'=>'red','size'=>'large','shape'=>'circle','startdate'=>'2011-08-18')
Array('color'=>'red','size'=>'large','shape'=>'square','startdate'=>'2011-08-20')
должно стать:

Код: Выделить всё

Array('color'=>'red','size'=>'large','shape'=>'circle','startdate'=>'2011-08-17','enddate'=>'2011-08-18')
Array('color'=>'red','size'=>'large','shape'=>'square','startdate'=>'2011-08-20')
До сих пор я пробовал пройтись по каждому массиву и создать многомерный массив:

Код: Выделить всё

foreach($arrays as $id => $array){
$mergearray[$array['red']][$array['large']][$array['circle']] = $id;
}
чтобы проверить, имеет ли другой массив те же значения. Я пытаюсь использовать эти массивы для восстановления исходной структуры массивов.

Подробнее здесь: https://stackoverflow.com/questions/710 ... are-consec

Вернуться в «Php»