我一直在解決以下問題。PHP:如何先按值排序數組,然後按鍵
我有此數組:
[596] => 2
[9] => 2
[358] => 2
[1579] => 1
[156] => 1
[576] => 1
[535] => 1
正如你所看到的,值以降序方式排序的,但關鍵是隨機的。儘管如此,我還想按鍵排序DESC。我一直在玩array_multisort,但我一直無法解決它的問題。我遇到的第一個問題是array_multisort重新編制數字鍵的事實。我更改爲非數字變體的鍵,即k596等......這使我能夠對鍵進行排序,但不像我想要的那樣。
[k9] => 2
[k596] => 2
[k358] => 2
[k576] => 1
[k535] => 1
[k1579] => 1
[k156] => 1
,我想最終看到的結果是:
[k596] => 2
[k358] => 2
[k9] => 2
[k1579] => 1
[k576] => 1
[k535] => 1
[k156] => 1
有沒有人能幫助我在這裏?必須有一個簡單的方法來做到這一點,對吧?
奇怪的是,我嘗試了類似的方法,但使用'$ array'作爲全局,並以「Array has modified」爲警告結束;這似乎工作。 –
而不是返回$ a - $ b; '返回$ a> $ b;'然後'$ array = array_reverse($ array,TRUE);' –
@Nouphal這是錯誤的。您需要返回值< 0, 0 or > 0,而不是布爾值。 – deceze