私は配列を持っています:
$temp = Array('a' => 0, 'b' => 0,'c' => 1,'d' => 1,'e' => 0,'f' => 0,'g' => 2,'h' => 0);
値を昇順で並べ替えたいと思います。
asort($temp);
print_r($temp);
与える:
Array
(
[e] => 0
[a] => 0
[h] => 0
[b] => 0
[f] => 0
[d] => 1
[c] => 1
[g] => 2
)
しかし、どういうわけか、同じ値を持つエントリの構造を保持したいと思います。例:
Array
(
[a] => 0
[b] => 0
[e] => 0
[f] => 0
[h] => 0
[c] => 1
[d] => 1
[g] => 2
)
これは「ソート」ではなく、配列関数filter / map / walkであると思いますが、これを効率的に機能させる方法はわかりません。
もう少し情報:最大500個の値を約3500回ソートする必要があるため、速度と効率が最も重要です。プロセスは一晩で実行されるため、これらの数は毎日増加します。
何か案は?ありがとう。
編集:キーと値の両方を保持する必要があるため、asortを使用します。同じ値のエントリが複数あるため、値でのみ注文できます。私のアルファベットの例のキーは、私のクエリを簡単に説明するためのものですが、実際には数値であり、時系列ではありません。