2010-11-15 2 views
1
$people = array(
    array('id' => 12345,'first_name' => 'Joe1','date' => '02/06/2011'), 
    array('id' => 12346,'first_name' => 'Joe','date' => '01/27/2011'), 
    array('id' => 12347,'first_name' => 'rah','date' => '01/22/2011'), 
    array('id' => 12348,'first_name' => 'sar','date' => '02/21/2011'), 
    array('id' => 12349,'first_name' => 'raj','date' => '04/18/2011'), 
    array('id' => 12350,'first_name' => 'viv','date' => '01/31/2011'), 
); 

Я хочу, чтобы этот массив элементов для сортировки по дате, а затем переставить элементы массива по возрастанию даты в PHP говорят, что после того, как процесс должен выглядеть следующим образом ниже на,Сортировка и перегруппировки элементов массива

var_export($people); 
//answer 

array(
    array('id' => 12347, 'first_name' => 'rah', 'date' => '01/22/2011'), 
    array('id' => 12346, 'first_name' => 'Joe', 'date' => '01/27/2011'), 
    array('id' => 12350, 'first_name' => 'viv', 'date' => '01/31/2011'), 
    array('id' => 12345, 'first_name' => 'Joe1', 'date' => '02/06/2011'), 
    array('id' => 12348, 'first_name' => 'sar', 'date' => '02/21/2011'), 
    array('id' => 12349, 'first_name' => 'raj', 'date' => '04/18/2011') 
) 

ответ

0

в случае, если вы хотите сделать это вручную (с помощью usort()):

function mdy2ymd($date) { 
     $parts = explode('/', $date); 
     return $parts[2] . $parts[0] . $parts[1]; // YYYYMMDD 
} 

function sortByDate($a, $b) { 
     return mdy2ymd($a['date']) - mdy2ymd($b['date']); 
} 

usort($people, 'sortByDate'); 

(Demo)

sortByDate() функция сравнения и mdy2ymd() просто помощник, чтобы сделать временные метки на форме MM/DD/YYYY сопоставимой.

+0

спасибо, это сработало для меня .. отличная работа «jensgram» отлично провели день –