未知のキーを持つ配列をソートし、PHPでインデックスの関連付けを維持します

StackOverflow https://stackoverflow.com/questions/9392360

質問

私は2回の実行から取られた統計の値とその違いを持つ配列を持っています。統計の名前は鍵です、そしてそれは私には知られていません。インデックス協会を維持したい

こののようなものです

$array["statistic_name_1"][0] = 5
$array["statistic_name_1"][1] = 4
$array["statistic_name_1"][2] = 1   

$array["statistic_name_2"][0] = 10
$array["statistic_name_2"][1] = 4
$array["statistic_name_2"][2] = 6

$array["statistic_name_3"][0] = 15
$array["statistic_name_3"][1] = 10
$array["statistic_name_3"][2] = 5
.

...

と私は実行の違いに従って数値を並べ替えたい([キー] [2])です。

ゾートを試してみましたが、違いに応じて並べ替える方法を見つけることができません

役に立ちましたか?

解決

このようなものを試してみてください:

function cmp($a, $b)
{
    return $b[2] - $a[2]
}

uasort($array, "cmp");
.

http://www.php.net/manual/en/an/enus。uasort.php

あなたができる1行にそれをすべて置くことができる:

uasort($array, function($a, $b){ return $b[2] - $a[2] });
.

他のヒント

uasort キー協会を維持する

uasort($array,function ($a,$b){
    if ($a[2] == $b[2]) {
        return 0;
    }
    return ($a[2] > $b[2]) ? -1 : 1;
});
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top