Ordinamento Array

  • Creatore Discussione Creatore Discussione maced
  • Data di inizio Data di inizio

maced

Utente Attivo
30 Nov 2011
48
0
6
ho un array cosi composta (D24-3-2013, D24-6-2012, D24-3-2012, D24-10-2013, D24-8-2013, ecc)

vorrei ottenere il seguente ordinamento:

D24-3-2012
D24-6-2012
D24-3-2013
D24-8-2013
D24-10-2013

ho pravato con natsort ma il risultato è:

D24-3-2012
D24-3-2013
D24-6-2012
D24-8-2013
D24-10-2013

Idee?
 
Fai cosi
PHP:
$a = array('D24-3-2013', 'D24-6-2012', 'D24-3-2012', 'D24-10-2013', 'D24-8-2013');

function ordina_per_data($e){
   //tolgo la d e converto in timestamp
   foreach($e as $c=>$val) $e[$c] = strtotime(substr($val,1));
    //li metto in ordine crescente
    sort($e);
    //ritorno con le date
    return array_map(function($d){ return date('d-m-Y',$d); },$e);
}

var_dump(ordina_per_data($a));
//output: array(5) { [0]=> string(10) "24-03-2012" [1]=> string(10) "24-06-2012" [2]=> string(10) "24-03-2013" [3]=> string(10) "24-08-2013" [4]=> string(10) "24-10-2013" }
 
grazie per l'auito ma hai provato per caso il codice perché a me da un errore.
 

Discussioni simili