переместить элементы массива на основе условия в php

Поэтому у меня есть этот массив:

$dates[0] = array('start'=>'2010-07-22', 'end'=>'2010-07-23'); $dates[1] = array('start'=>'2010-07-22', 'end'=>'0000-00-00'); $dates[2] = array('start'=>'2010-07-29', 'end'=>'0000-00-00'); $dates[3] = array('start'=>'2010-07-31', 'end'=>'2010-07-31'); $dates[4] = array('start'=>'2010-07-08', 'end'=>'2010-07-31'); $dates[5] = array('start'=>'2010-08-01', 'end'=>'2010-09-30'); $dates[6] = array('start'=>'2010-07-18', 'end'=>'2010-08-15'); $dates[7] = array('start'=>'2010-07-01', 'end'=>'2010-08-31'); 

и у меня есть следующее условие: if an element 'start' is less then today, took the element's attribute 'end' and position the element relative to the others elements 'start'

Поэтому, если событие started yesterday и ends tomorrow оно должно появиться после событий, beginning today

поэтому полученный массив выглядит примерно так:

 $dates[3] = array('start'=>'2010-07-22', 'end'=>'2010-07-23'); $dates[4] = array('start'=>'2010-07-22', 'end'=>'0000-00-00'); $dates[5] = array('start'=>'2010-07-29', 'end'=>'0000-00-00'); $dates[6] = array('start'=>'2010-07-31', 'end'=>'2010-07-31'); $dates[1] = array('start'=>'2010-07-08', 'end'=>'2010-07-31'); $dates[7] = array('start'=>'2010-08-01', 'end'=>'2010-09-30'); $dates[2] = array('start'=>'2010-07-18', 'end'=>'2010-08-15'); $dates[0] = array('start'=>'2010-07-01', 'end'=>'2010-08-31'); 

Как я могу перейти от ввода образца к образцу?

[РЕДАКТИРОВАТЬ]

  1. Я пытаюсь изменить вывод EventList компонента для Joomla
  2. Я не являюсь носителем английского языка

Итак, я попробую еще раз:

если дата начала события меньше, чем сегодня, то закажите событие по отношению к this event enddate а others events startday

Пример:

Если событие «A» началось в 2010-07-01 и закончилось в 2010-07-25, а событие «B» начинается в 2010-07-24, а текущая дата – 2010-07-20, то событие «A» появляется после событие 'B'

Если событие «A» начинается в 2010-07-20 и заканчивается в 2010-07-25, а событие «B» начинается в 2010-07-24, а текущая дата – 2010-07-20, то событие «B» появляется после событие 'A'

Надеюсь, теперь это станет намного понятнее.