Betrachten Sie ein Array mit einer Struktur ähnlich der folgenden:
$array = [ [ 'id' => 2, 'type' => 'comment', 'text' => 'hey', 'datetime' => '2010-05-15 11:29:45', ], [ 'id' => 3, 'type' => 'status', 'text' => 'oi', 'datetime' => '2010-05-26 15:59:53', ], [ 'id' => 4, 'type' => 'status', 'text' => 'yeww', 'datetime' => '2010-05-26 16:04:24', ], ];
Wie können wir Dieses Array nach dem Element „datetime“ sortieren?
Die Funktion usort() von PHP benötigt ein Array und eine Vergleichsfunktion, die die Reihenfolge der Elemente bestimmt. Wir können eine benutzerdefinierte Vergleichsfunktion namens date_compare wie folgt erstellen:
function date_compare($a, $b) { $t1 = strtotime($a['datetime']); $t2 = strtotime($b['datetime']); return $t1 - $t2; }
Diese Funktion extrahiert den UNIX-Zeitstempel für das Feld „datetime“ jedes Datensatzes und gibt die Differenz zwischen ihnen zurück. Diese Informationen werden von usort() verwendet, um das Array zu sortieren.
Schließlich können wir die Sortierfunktion mit usort() auf das Array anwenden:
usort($array, 'date_compare');
Dadurch wird das Array in aufsteigender Reihenfolge basierend auf dem Element „datetime“ sortiert.
Das obige ist der detaillierte Inhalt vonWie sortiere ich ein mehrdimensionales PHP-Array nach einem Datetime-Element?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!