我必須使用返回JSON的webservice。解碼JSON後,我得到陣列:使用二維密鑰的穩定排序數組
$arrays[0]["2013-04-09"]=$someValue;
$arrays[1]["2013-04-09"]=$someValue;
$arrays[2]["2013-04-11"]=$someValue;
$arrays[3]["2013-04-05"]=$someValue;
$arrays[4]["2013-04-09"]=$someValue;
我想排序(穩定的方式,並使用第二暗淡鍵表面)陣列並獲得儘可能結果:
$arrays[3]["2013-04-05"];
$arrays[0]["2013-04-09"]; //stable way don't swap with next val
$arrays[1]["2013-04-09"]; //stable way don't swap with next and prev vel
$arrays[4]["2013-04-09"]; //stable way, don't swap with prev val
$arrays[2]["2013-04-11"];
你能幫助我嗎?我嘗試創建自己的功能,因爲只使用第一個調暗鍵進行排序,因爲ksort或krsort排序。謝謝你的答案。
編輯: 我試着寫我自己的功能 - 這一點也適用 - 我在單位考了錯誤的「有效答案」,這是原因,我說,這不是工作:
private function getResult(){
...
usort($arrays,array($this,'mycmp'));
...
}
private function mycmp($a, $b){
foreach($a as $key=>$val){
$first = $key;
}
foreach($b as $key=>$val){
$second = $key;
}
if ($first == $second){
return 0;
}
return ($first < $second) ? -1:1;
}
FOR HELP
該結構還有其他什麼鍵?如果在子數組中只有一個鍵(日期),它應該相當簡單。發佈一些示例JSON以幫助解答。 – cmbuckley
在意識到你的鑰匙不同之前,我只是有一個完美的答案。你想按鍵或按第二維值排序嗎? – ToBe
供參考:它會[這種方法](http://stackoverflow.com/questions/2477496/php-sort-array-by-subarray-value),但使用的是關鍵,而不是價值。因此我的問題在上面。 – cmbuckley