2016-04-15 10 views
0

Ich versuche, ein Array mit Posts in ihnen zu machen, jetzt muss ich die Beiträge in das Array auf der Grundlage ihrer Post-Datum einfügen, zB wenn ein Post am Tag 4 es gebucht wurde wird nach dem Post kommen, der am Tag 5 gepostet wurde, also werden die neuesten Posts zuerst hinzugefügt und angezeigt, gibt es einen guten Weg das zu tun?Einfügen in Array basierend auf Artikel Datum einfügen

+0

Wäre es in Ordnung sein, sie alle legen, wie sie kommen und sortieren dann, wenn Sie Ist das Einfügen abgeschlossen, oder müssen sie in der richtigen Reihenfolge eingefügt werden? –

+0

Sie sollten die Postdaten in Unix-Zeitstempel mit strtotime() konvertieren, dann in aufsteigender Reihenfolge sortieren und sie wieder in das gewünschte Format formatieren. –

+0

Nur das Datum Feld zuerst in SELECT-Klausel und dann fetchAll() mit [PDO :: FETCH_GROUP] (https://phddelusions.net/pdo#group) –

Antwort

0

Die einfachste und gar nicht richtige Methode:

$sortedNews = []; //sorted news 
foreach($newsArray as $news) { 
    $sortedNews[strtotime($news['date'])] = $news; //take date and switch to unix timestamp as key of value 
} 
krsort($sortedNews); //sort by key (reverse) new to old 

Der richtige Weg, es Ihre Datenbank ist eine Art es sich ORDER BY `date` DESC lassen

+0

Ich sortiere es in der SQL-Anweisung, aber ich muss laufen 2 verschiedene Querys, eine für den Benutzer und eine für die Freunde Beiträge, deshalb muss ich das Array sortieren –

+0

Sie können sie verbinden und dann sortieren –