BigThink

PHP tip: ordinare un array di date

Come spesso accade, mi trovo ad affrontare alcuni problemi durante i miei lavori in php e ne approfitto per condividere con voi le soluzioni.
Oggi vediamo come ordinare un array di date in php.

Solitamente, per ordinare un array numerico o di stringhe, si usa la funzione sort, piuttosto che asort per gli array associativi. Ovviamente, se provassimo a riordinare un array di date  — essendo queste delle stringhe — non otterremmo l’ordinamento voluto. Vediamo allora come procedere.

Per prima cosa dovremo assicurarci che le nostre date siano nel formato corretto. Formati accettabili sono, ad esempio:

  • Sat, 20 Sep 2008 11:26:15 +0200
  • 20 Sep 2008
  • 20-9-2008
  • 2008-09-20
  • 20.9.2008

Formati non validi sono, invece: 20 settembre 2008, 20/09/2008… e così via.
Nel caso in cui ci ritrovassimo con un formato scorretto, dovremo splittare la stringa e convertirlo manualmente.

Ora, mettiamo caso di avere un array simile:

$date = array("Mon, 22 Sep 2008 11:12:12 +0200",
              "Fri, 19 Sep 2008 13:20:45 +0200",
              "Sat, 20 Sep 2008 11:26:15 +0200");

Come prima cosa richiamiamo la funzione strtotime su ogni elemento dell’array. Possiamo farlo automaticamente grazie alla funzione per il mapping:

$date = array_map('strtotime', $date);

Ogni data viene così convertita nel suo equivalente valore intero, detto UNIX timestamp.

A questo punto potremo ordinare l’array semplicemente utilizzando le funzioni sort o rsort (nel caso volessimo ordinarlo in ordine decrescente):

sort($date);

L’ultimo passo è riconvertire ogni data nel formato a noi più congeniale, grazie alla funzione date:

foreach($date as $i => $d)
    $date[$i] = date('d-m-Y', $d);

Semplice, no? Abbiamo così ordinato il nostro array di date.

Articolo scritto da Ghido

Fondatore di BigThink.it, si occupa dello sviluppo e del coordinamento dei progetti tecnologici. Specializzato nel Marketing su Facebook e nello sviluppo di Applicazioni Social, fa consulenza e formazione ad aziende ed agenzie.

Leggi anche...

Twitter: c'erano una volta le API

Twitter: c’erano una volta le API

Eccoci alla seconda puntata della miniserie di Camu. Se la prima puntata era dedicata agli Hook di WordPress, oggi si parlerà delle API di Twitter e nella prossima metteremo tutto insieme. Oggi, quando nel gergo informatico si parla di API, non ci si riferisce a quei simpatici insetti che producono il miele e ci ...
Una classe PHP per creare applicazioni Facebook

Una classe PHP per creare applicazioni Facebook

Eccoci finalmente giunti alla seconda guida che vi insegnerà come creare un'applicazione Facebook. Nella prima guida abbiamo imparato come impostare Facebook Developer per riconoscere la nostra nuova applicazione, oggi vedremo il codice vero e proprio. Volevo iniziare direttamente con un esempio pratico di applicazione, ma mi sono accorto che prima è necessario che vi ...
Una cache per il numero di iscritti a Facebook e Twitter

Una cache per il numero di iscritti a Facebook e Twitter

Visualizzare il numero di followers su twitter e di fan su facebook è molto oneroso in termini di tempo per il nostro blog. I server sempre sovraccarichi di questi social network minano i tempi di caricamento in modo notevole. Chiunque abbia provato a recuperare in formato testuale questi valori, in particolare quelli relativi a ...
Dividere su due colonne le categorie di WordPress

Dividere su due colonne le categorie di WordPress

Con questo post inizia una nuova serie di guide per la creazione o personalizzazione dei template di WordPress, ambito in cui mi sono specializzato recentemente. Oggi vedremo come dividere l'elenco delle categorie del nostro blog, su due colonne di egual lunghezza. Può tornarci utile nel caso avessimo veramente tante categorie e, per una maggiore ...
PHP: manipolare immagini con tre righe di codice

PHP: manipolare immagini con tre righe di codice

Oggi vi presento una classe PHP per manipolare in tutta facilità le immagini: si tratta di SmartImage del buon Alessandro Coscia di CodiceFacile. Con poche righe di codice potremo ridimensionare, croppare, convertire, ottimizzare, ruotare le immagini ed aggiungervi un watermark. Il tutto compatibile sia con PHP 4 che 5. Per prima cosa, scarichiamo SmartImage, ...

2 Commenti

  1. Mi è stato particolarmente utile, anche se ho dovuto aggiungere alcuni passaggi per adattarlo ai miei scopi. Mille grazie :)

    1 marzo 2010, 10:39

1 Citazioni