Bei der PHP-Array-Sortierung handelt es sich eigentlich um die Sortierung von PHP-Arrays. In diesem Artikel wird die Ergebnismenge aus der Datenbankabfrage sortiert. Datenbankabfrageergebnisse können manchmal nicht direkt verwendet werden, z. B. die mit der in-Anweisung in MySQL erhaltenen Ergebnisse. Daher müssen die Ergebnisse auf irgendeine Weise sortiert werden. Zu diesem Zeitpunkt müssen Sie das PHP-Array sortieren. Um Datenbankergebnisse zu sortieren, sehen Sie sich das folgende Beispiel an:
In diesem Beispiel stellt jede Zelle im Datenarray eine Zeile in einer Tabelle dar. Dies ist eine typische Methode für Datenbanken zum Speichern von Array-Daten.
Die Daten im Beispiel lauten wie folgt:
Band |. Auflage
-------+--------
67 |. 2
86 |. 1
85 |. 6
98 |. 2
86 |. 6
67 |. 7Die
Daten werden alle in einem Array mit dem Namen data gespeichert. Dies ist normalerweise das Ergebnis, das aus der Datenbank durch eine Schleife wie mysql_fetch_assoc() erhalten wird (tatsächlich können Sie sich diese Funktion als dasselbe wie die Funktion mysql_fetch_assoc() vorstellen. Für spezifische Unterschiede können Sie den Unterschied in den Schlüsseln lesen das PHP-Handbuch).
$data[] = array('volume' => 67, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 1);
$data[] = array('volume' => 85, 'edition' => 6);
$data[] = array('volume' => 98, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 6);
$data[] = array('volume' => 67, 'edition' => 7);
In diesem Beispiel wird das Volume in absteigender Reihenfolge und die Edition in aufsteigender Reihenfolge sortiert.
Jetzt haben Sie ein Array mit Zeilen, aber array_multisort() erfordert ein Array mit Spalten. Verwenden Sie also den folgenden Code, um die Spalten abzurufen und sie dann zu sortieren.
// Holen Sie sich die Liste der Spalten
foreach ($data as $key => $row) {
$volume[$key] = $row['volume'];
$edition[$key] = $row['edition'];
}
// Ordnen Sie die Daten in absteigender Reihenfolge nach Volumen und in aufsteigender Reihenfolge nach Ausgabe an
// $data als letzten Parameter verwenden, nach gemeinsamem Schlüssel sortieren
array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data);
Die Datensammlung ist nun sortiert und das Ergebnis ist wie folgt:
Band |. Auflage
-------+--------
98 |. 2
86 |. 1
86 |. 6
85 |. 6
67 |. 2
67 |. 7
Tatsächlich gibt es viele Methoden, die beim Sortieren verwendet werden können, wie z. B. arsort(), asort(), ksort(), krsort(), natsort(), natcasesort() und rsort, die mit dem Array-Array von PHP geliefert werden .(), usort(), array_multisort() und uksort().