Справка по сортировке многомерного массива - PullRequest
1 голос
/ 26 января 2011

Я пытаюсь отсортировать этот массив по season_number, но я не совсем уверен, какую функцию использовать, поскольку я предполагаю, что мне нужна пользовательская сортировка? Есть идеи?

Array
(
    [0] => Array
        (
            [season_number] => 7
            [show_id] => 21
            [show_seasons_id] => 14
        )

    [1] => Array
        (
            [season_number] => 6
            [show_id] => 21
            [show_seasons_id] => 31
        )

    [2] => Array
        (
            [season_number] => 1
            [show_id] => 21
            [show_seasons_id] => 40
        )

    [3] => Array
        (
            [season_number] => 2
            [show_id] => 21
            [show_seasons_id] => 41
        )
)

Ответы [ 2 ]

1 голос
/ 26 января 2011

Вы можете использовать функцию usort с функцией сравнения:

function compare_my_elements( $arr1, $arr2 ) {
   $s1=$arr1["season_number"];
   $s2=$arr2["season_number"];
   if( $s1 == $s2 ) return 0;
   return ( $s1 > $s2 ? 1 : -1 );
}

usort( $my_md_array, compare_my_elements );
1 голос
/ 26 января 2011

Попробуйте это:

foreach ($array as $key => $val) {
    $newArr[$key] = $val['season_number'];
}
array_multisort($newArr, SORT_ASC, $array);

где $ array - это массив, который вы распечатали.

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