Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich ein mehrdimensionales Array in PHP basierend auf einem Unix-Zeitstempel sortieren?

Wie kann ich ein mehrdimensionales Array in PHP basierend auf einem Unix-Zeitstempel sortieren?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-05 10:15:02740Durchsuche

How Can I Sort a Multidimensional Array in PHP Based on a Unix Timestamp?

Sortieren eines mehrdimensionalen Arrays in PHP

Ziel

Sortieren eines mehrdimensionalen Arrays basierend auf der Unix-Zeitstempel, der im Unterarray „x“ gespeichert ist.

Lösung

Um dies zu erreichen, können Sie eine benutzerdefinierte Vergleichsfunktion in Verbindung mit der usort-Funktion verwenden.

Benutzerdefinierte Vergleichsfunktion

<code class="php">function compare($x, $y) {
    if ($x[4] == $y[4])
        return 0;
    else if ($x[4] < $y[4])
        return -1;
    else
        return 1;
}</code>

Anwenden der Funktion mit usort

<code class="php">usort($arrayOfArrays, 'compare');</code>

Weitere Erläuterung

Die usort-Funktion erwartet als zweites Argument eine Vergleichsfunktion, die zwei Elemente aus dem Array entnimmt und einen negativen Wert zurückgibt, wenn das erste Element vor dem zweiten Element platziert werden soll, einen Nullwert, wenn dies der Fall sein sollte erscheinen in der gleichen Reihenfolge und ein positiver Wert, wenn das erste Element nach dem zweiten Element platziert werden soll.

Diese benutzerdefinierte Funktion vergleicht die Unix-Zeitstempelwerte an der vierten Position jedes Unterarrays. Wenn die Zeitstempel gleich sind, wird 0 zurückgegeben. Wenn der erste Zeitstempel vor dem zweiten liegt, wird -1 zurückgegeben. Andernfalls wird 1 zurückgegeben, was bedeutet, dass das zweite Unterarray nach dem ersten erscheinen sollte.

Das obige ist der detaillierte Inhalt vonWie kann ich ein mehrdimensionales Array in PHP basierend auf einem Unix-Zeitstempel sortieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn