-2

多次元配列をソートする方法を知っている人はいますか?! 私はこれを何時間も試みてきましたが、成功しませんでした。ナビゲーションバーに表示する位置であるため、配列「$ page」を「位置」で昇順に並べ替えようとしています。どんな助けでも大歓迎です!ドキュメントの on の例のほとんどを既に試しましたが、何も機能していないようです。

Array
(
[0] => Array
    (
        [position] => 0
        [text] => Home
        [url] => ./
        [navigation] => true
    )

[1] => Array
    (
        [position] => 0
        [text] => 404
        [url] => ./?p=404
        [navigation] => false
    )

[2] => Array
    (
        [position] => 0
        [text] => 403
        [url] => ./?p=403
        [navigation] => false
    )

[3] => Array
    (
        [position] => 1
        [text] => Posts
        [url] => ./?p=posts
        [navigation] => true
    )

[4] => Array
    (
        [position] => 3
        [text] => Users
        [url] => ./?p=users
        [navigation] => true
    )

[5] => Array
    (
        [position] => 1
        [text] => Logout
        [url] => ./?p=logout
        [navigation] => false
    )

[6] => Array
    (
        [position] => 2
        [text] => Banner
        [url] => ./?p=banner
        [navigation] => true
    )

[7] => Array
    (
        [position] => 5
        [text] => Login
        [url] => ./?p=login
        [navigation] => false
    )

)

私が持っているので、検索するように言わないでください。何も機能していません! そのうちの 1 つは、ローカルでテストしていたときに機能しましたが、サーバーでエラーが発生したため、別の方法を見つける必要がありました。

4

2 に答える 2

2

usortを使用します。

function cmp($a, $b)
{
    if ($a['position'] == $b['position']) {
        return 0;
    }
    return ($a['position'] < $b['position']) ? -1 : 1;
}


usort($page, "cmp");
于 2013-04-21T14:19:13.230 に答える