2010-10-19 31 views
1

什麼是按字母順序都按國家和數值排序這個日期的最快方法?:排序這個多維數組的最快方法?

Array 
(
[JAPAN] => Array 
    (
     [2010-10-17] => 2 
    ) 

[CUBA] => Array 
    (
     [2010-10-16] => 9 
    ) 

[RUSSIAN FEDERATION] => Array 
    (
     [2010-10-16] => 26 
     [2010-10-17] => 6 
     [2010-10-18] => 2 
    ) 

[CHINA] => Array 
    (
     [2010-10-16] => 13 
    ) 

) 
+2

爲什麼你需要的** **最快的方法是什麼? – salathe 2010-10-19 11:56:53

回答

0

你將不得不在基準更多的數據。我會嘗試ksort按國家排序,usort按日期排序。

1
foreach ($array as $value) { 

    ksort($value); 
} 

ksort($array); 

http://codepad.org/wJn0hJN4

array(4) { 
    ["CHINA"]=> 
    array(1) { 
    ["2010-10-16"]=> 
    int(13) 
    } 
    ["CUBA"]=> 
    array(1) { 
    ["2010-10-16"]=> 
    int(9) 
    } 
    ["JAPAN"]=> 
    array(1) { 
    ["2010-10-17"]=> 
    int(2) 
    } 
    ["RUSSIAN FEDERATION"]=> 
    array(3) { 
    ["2010-10-16"]=> 
    int(26) 
    ["2010-10-17"]=> 
    int(6) 
    ["2010-10-18"]=> 
    int(2) 
    } 
} 
+1

我寧願使用較短的代碼:'foreach($ array as&$ value){ksort($ value); } ksort($ array);'。 – Artefact2 2011-06-30 22:26:53

+0

不知道那會奏效。謝謝!我會編輯它。 – 2011-06-30 22:36:51