2010-10-19 6 views
1

Quelle est la façon la plus rapide de trier cette fois par ordre alphabétique par pays et numériquement par date ?:Le moyen le plus rapide de trier ce tableau multidimensionnel?

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

Pourquoi avez-vous la façon la plus rapide ** **? – salathe

Répondre

0

Vous devrez référence sur plus de données. Je vais essayer ksort pour le tri par pays et usort pour le tri par dates.

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

Je préfère utiliser le code plus court: 'foreach ($ array as & $ value) {ksort ($ value); } ksort ($ array); – Artefact2

+0

Je ne savais pas que cela fonctionnerait. Merci! Je vais l'éditer. –