помогите отсортировать этот массив - PullRequest
4 голосов
/ 31 июля 2010

Итак, я хочу отсортировать многомерный массив ниже по возрастанию "fk_page_id".У кого-нибудь есть указатели.Я думаю, что usort () - это то, где я должен искать, но, похоже, я не могу найти кого-либо с моей конкретной структурой массива.

Array
    (

    [0] => Array

        (
            [title] => subpage of subpage!
            [id] => 5
            [long_title] =>
            [fk_page_id] => 4                                
        )

    [1] => Array
        (
            [title] => about us subpage
            [id] => 4
            [long_title] => 
            [fk_page_id] => 2
        )

    [2] => Array
        (
            [title] => about us
            [id] => 2
            [long_title] => 
            [fk_page_id] => 1
        )

)

Ответы [ 2 ]

5 голосов
/ 31 июля 2010
function cmp($a, $b) {
    if($a['fk_page_id'] == $b['fk_page_id']) {
        return 0;
    } else {
        return $a['fk_page_id'] < $b['fk_page_id'] ? -1 : 1;
    }
}

usort($yourarray, 'cmp');
0 голосов
/ 31 июля 2010

, если вы используете PHP 5.3 +:

define(ASC,1);
define(DESC,-1);

function colsort($array,$col,$order=ASC) {
    usort(
        $array,
        function($a,$b) use($col,$order) {
            return strcmp($a[$col],$b[$col])*$order;
        }
    );
    return $array;
}

colsort($x,'fk_page_id');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...