Heim > Backend-Entwicklung > PHP-Problem > So unterscheiden Sie die Größe der PHP-Array-Sortierung

So unterscheiden Sie die Größe der PHP-Array-Sortierung

PHPz
Freigeben: 2023-04-20 14:49:14
Original
549 Leute haben es durchsucht

Bei der PHP-Programmierung ist die Array-Sortierung eine sehr häufige Anforderung. Beim Sortieren eines Arrays müssen wir wissen, wie wir die Größe der Elemente unterscheiden können. In diesem Artikel erfahren Sie, wie Sie die Größe von Arrays in PHP bestimmen und wie Sie Arrays sortieren.

Größenvergleich von Array-Elementen

In PHP können wir diese Operationen ==, ===, !=, <>, !==, <, >, <=, >= Symbol verwenden um die Größe von Elementen zu vergleichen. Diese Operatoren können jedoch für skalare Datentypen (wie int, float, string usw.) verwendet werden, bei der Verwendung für Arrays treten jedoch einige Probleme auf.

Wenn Sie die Operatoren <, >, <=, >= zum Vergleichen von Arrays verwenden, wandelt PHP das Array intern in einen String um und vergleicht dann die Größen der Strings, was leicht zu unerwarteten Ergebnissen führen kann.

Um solche Probleme zu vermeiden, müssen wir spezielle Funktionen verwenden, um Elemente von Arrays zu vergleichen. Hier sind einige häufig verwendete Funktionen.

strcmp-Funktion

strcmp-Funktion wird verwendet, um die Größe zweier Zeichenfolgen zu vergleichen und eine Ganzzahl zurückzugeben. Wenn die erste Zeichenfolge kleiner als die zweite Zeichenfolge ist, wird eine negative Zahl zurückgegeben. Wenn die beiden Zeichenfolgen gleich sind, wird 0 zurückgegeben. Wenn die erste Zeichenfolge größer als die zweite Zeichenfolge ist, wird eine positive Zahl zurückgegeben.

Zum Beispiel können wir die Funktion strcmp verwenden, um die Größe zweier Wörter „hello“ und „world“ wie folgt zu vergleichen:

echo strcmp("hello", "world"); // 输出 -15
Nach dem Login kopieren

In diesem Beispiel ist „hello“ kleiner als „world“, daher gibt die Funktion strcmp zurück eine negative Zahl.

Sortierfunktion

Sortierfunktion wird verwendet, um ein Array in aufsteigender Reihenfolge zu sortieren. Die Sortierfunktion sortiert das Array an Ort und Stelle, dh die Schlüsselwerte des Arrays ändern sich nach dem Sortieren nicht. Die

sort-Funktion akzeptiert einen Array-Parameter, zum Beispiel:

$numbers = array(3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5);
sort($numbers);
print_r($numbers); // 输出 Array ( [0] => 1 [1] => 1 [2] => 2 [3] => 3 [4] => 3 [5] => 4 [6] => 5 [7] => 5 [8] => 5 [9] => 6 [10] => 9 )
Nach dem Login kopieren

Im obigen Beispiel sortiert die Sortierfunktion das $numbers-Array in aufsteigender Reihenfolge und gibt die sortierten Ergebnisse aus.

rsort-Funktion

rsort-Funktion ist dasselbe wie die Sortierfunktion und wird zum Sortieren von Arrays verwendet. Der Unterschied besteht darin, dass die Funktion rsort zum Sortieren eines Arrays in absteigender Reihenfolge verwendet wird. Die

rsort-Funktion führt auch direkte Operationen an Arrays durch, zum Beispiel:

$numbers = array(3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5);
rsort($numbers);
print_r($numbers); // 输出 Array ( [0] => 9 [1] => 6 [2] => 5 [3] => 5 [4] => 5 [5] => 4 [6] => 3 [7] => 3 [8] => 2 [9] => 1 [10] => 1 )
Nach dem Login kopieren

Im obigen Beispiel sortiert die rsort-Funktion das $numbers-Array in absteigender Reihenfolge und gibt die sortierten Ergebnisse aus.

array_multisort-Funktion

array_multisort-Funktion ist eine leistungsstarke Sortierfunktion, die mehrdimensionale Arrays sortieren kann. Die Funktion array_multisort akzeptiert ein oder mehrere Array-Argumente und sortiert diese Arrays nach festgelegten Regeln.

Zum Beispiel können wir die Funktion array_multisort verwenden, um die Ergebnisse einer Gruppe von Schülern zu sortieren:

$students = array(
    array('name' => 'Tom', 'score' => 90),
    array('name' => 'John', 'score' => 80),
    array('name' => 'Mike', 'score' => 85),
    array('name' => 'Mary', 'score' => 95),
    array('name' => 'Lisa', 'score' => 88)
);

foreach ($students as $key => $value) {
    $scores[$key] = $value['score'];
    $names[$key] = $value['name'];
}

array_multisort($scores, SORT_DESC, $names, SORT_ASC, $students);

print_r($students);
Nach dem Login kopieren

Im obigen Beispiel speichern wir zunächst die Ergebnisse und Namen der Schüler in zwei Arrays $scores bzw. $names. Anschließend verwenden wir die Funktion array_multisort, um die Arrays $scores und $names zu sortieren und die sortierten Ergebnisse auf das Array $students anzuwenden. Schließlich drucken wir das Array $students aus, um die Ergebnisse nach Punktzahlen in absteigender Reihenfolge und Namen in aufsteigender Reihenfolge zu sortieren.

Zusammenfassung

Beim Sortieren eines Arrays in PHP müssen wir wissen, wie wir die Größe von Elementen unterscheiden können. Um unerwartete Ergebnisse zu vermeiden, müssen wir zum Vergleich spezielle Funktionen verwenden. In diesem Artikel werden einige häufig verwendete Vergleichs- und Sortierfunktionen vorgestellt, die Lesern dabei helfen können, schnell effizienten Code zu schreiben.

Das obige ist der detaillierte Inhalt vonSo unterscheiden Sie die Größe der PHP-Array-Sortierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage