Группируйте строки двумерных массивов по нескольким столбцам и только в том случае, если значения даты являются последов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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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