2011-08-20 26 views
8

Ciao Ho un array con le chiavi come data in questo formato.php - Ordina array con data come chiave

$arr = array(

    "20110805" => "2", 
    "20100703" => "5", 
    "20110413" => "3", 
    "20100805" => "4", 
    "20100728" => "6", 
    "20090416" => "7", 
    "20080424" => "8", 
    "20110819" => "1", 
); 

Come è possibile ordinare questo array per chiave. Grazie.

+0

-1 Google: "PHP sorta di matrice con i tasti" – fresskoma

+1

@TheHorse - Ci sono un sacco di cose che possono essere trovati da googling. È molto preferibile mostrare i duplicati su SO dei commenti di tipo LMGTFY. :) –

+0

@ Jared Farrish - COSÌ COSÌ COSÌ semplice domanda. Trovo risposta su google senza conoscenza php – TheHorse

risposta

20

Con le date in tale formato, un confronto alfabetico funzionerà perfettamente. Utilizzare la funzione PHP ksort.

ksort($arr); 
+2

Esempio: http://codepad.org/5WjP74TR –

+0

ciao grazie per la tua risposta, ksort ordinerà l'array per chiave ma la chiave qui è data e ksort non ordina l'array in ordine. ho bisogno di convertire le chiavi in ​​un formato data valido e poi fare ksort, ma farlo influenzerà il resto del codice. eventuali suggerimenti?? – bharath

+1

@bharath - Le tue date sono nell'ordine ANNO MESE GIORNO, il che significa che puoi ordinarle usando un ordinamento normale e lo metterà nell'ordine corretto, a patto che abbiate impostato "0" per i MESI e GIORNI brevi. Le "date" sono essenzialmente solo un numero che può essere analizzato in una data. –

4

Proprio questa singola riga di codice:

ksort($arr); 
Problemi correlati