0

現在、カスタム関数で usort を使用して、多次元配列を並べ替えています。

usort($arr, function($a, $b) {
    return $a['count'] - $b['count'];
});

これにより、配列はうまくソートされますが、重要な情報が失われます。配列を考えると:

Array
(
    [3] => Array
        (
            [foo] => bar
            [count] => 11
        )

    [7] => Array
        (
            [foo] => baz
            [count] => 1
        )
)

usort生成されます:

Array
(
    [0] => Array
        (
            [foo] => baz
            [count] => 1
        )

    [1] => Array
        (
            [foo] => bar
            [count] => 11
        )
)

で並べ替えたいのですが、キーと をcount保持します。残念ながら、キーをとに設定します。[3][7]usort[0][1]

4

1 に答える 1

5

uasort()代わりに使用します。元のキーが保持されます

于 2012-09-27T22:53:41.093 に答える