2

それは私の2D配列です:

$a = array(
    '6' => array(10, 5),
    '5' => array(20, 7),
    '40' => array(15, 9)
);

簡単に並べ替えることができますarray_multisort

foreach ($a as $k => $r) {
    $keys[$k] = $r[1]; 
}
array_multisort($keys, SORT_DESC, $a);

ただし、キー( '6'、 '5'、 '40')はクリアされます。

Array
(
    [0] => Array
        (
            [0] => 15
            [1] => 9
        )

    [1] => Array
        (
            [0] => 20
            [1] => 7
        )

    [2] => Array
        (
            [0] => 10
            [1] => 5
        )

)

array_multisort配列キーを保持するためのパラメータはありますか?

4

1 に答える 1

7

を使用したより簡単なソリューションuasort:

uasort($a, function ($a, $b) { return $a[1] - $b[1]; });
于 2012-09-12T10:06:26.467 に答える