Сортировка массивов в PHP - PullRequest
0 голосов
/ 01 апреля 2012

Как мне отсортировать 2D массив в PHP.Я хочу отсортировать по дате, массив в этом формате:

[result] => Array
        (
            [0] => Array
                (
                    [link] => http://local/node/0
                    [date] => 13158505310
                )

            [1] => Array
                (
                    [link] => http://local/node/1
                    [date] => 13158505311
                )

            [2] => Array
                (
                    [link] => http://local/node/2
                    [date] => 13158505312

Ответы [ 5 ]

3 голосов
/ 01 апреля 2012

Использование usort :

usort( $array, function( $a, $b ){   return $a["date"] - $b["date"];  } );
1 голос
/ 01 апреля 2012

Используйте это

 function sortByDateDesc($a, $b) {
   return strcmp($a["date"], $b["date"]);
 }

 function sortByDateAsc($a, $b) {

    if ($a['date'] == $b['date']) {
        return 0;
    }
    return ($a['date'] > $b['date']) ? -1 : 1;  
 }

 usort($array, 'sortByDateDesc'); //Descending order
 //usort($array, 'sortByDateAsc'); //Asceding order
0 голосов
/ 01 апреля 2012

может быть полезным для вас этот код ....

 // Obtain a list of columns
foreach (data as key => row) {
    links[key]  = row['link'];
    dates[key] = row['date'];
}

// Sort the data with link descending, date ascending
// Add $data as the last parameter, to sort by the common key
array_multisort(link, SORT_DESC, date, SORT_ASC, data);
0 голосов
/ 01 апреля 2012

Вы также можете попробовать мультисортировку http://www.php.net/manual/en/function.array-multisort.php

0 голосов
/ 01 апреля 2012
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...