Heim  >  Artikel  >  Backend-Entwicklung  >  So sortieren Sie ein eindimensionales Array in PHP (eine kurze Analyse der Methode)

So sortieren Sie ein eindimensionales Array in PHP (eine kurze Analyse der Methode)

PHPz
PHPzOriginal
2023-04-10 09:44:14732Durchsuche

PHP ist eine Skriptsprache, die häufig in Webentwicklungsanwendungen verwendet wird. Array-Operationen sind eine der am häufigsten verwendeten Operationen in der PHP-Entwicklung. Arrays müssen häufig für die weitere Verarbeitung sortiert werden.

Beim Sortieren eindimensionaler Arrays werden normalerweise die Funktionen sort() und rsort() verwendet. Der Unterschied zwischen ihnen besteht darin, dass sort() in aufsteigender Reihenfolge sortiert, während rsort() in absteigender Reihenfolge sortiert. Werfen wir einen Blick auf ihre Verwendung.

sort()-Funktion

Die sort()-Funktion kann das Array in aufsteigender Reihenfolge sortieren. Diese Funktion ändert die Schlüssel-Wert-Beziehung des ursprünglichen Arrays und gibt einen booleschen Wert (wahr oder falsch) zurück, um anzuzeigen, ob die Sortierung erfolgreich ist.

Zum Beispiel haben wir ein eindimensionales Array:

$arr = array(5,8,3,0,2,7,1);

Wir können die Funktion sort() verwenden, um es in aufsteigender Reihenfolge zu sortieren:

sort($arr);
#🎜 🎜#Nach dem Sortieren ist das Array:

Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 3 [4] => 5 [5] => 7 [6] => 8 )
sort()-Funktion kann auch String-Arrays sortieren. Es ist zu beachten, dass die Funktion sort() nach der Reihenfolge der Zeichen in der ASCII-Codetabelle und nicht nach der Wörterbuchreihenfolge sortiert.

Zum Beispiel haben wir ein Array von Zeichenfolgen:

$arr = array("apple", "banana", "peach", "orange");
Wir verwenden die Funktion sort(), um es zu sortieren:

sort($arr);
Sortiertes Array als :

Array ( [0] => apple [1] => banana [2] => orange [3] => peach )
Es ist ersichtlich, dass die Sortierergebnisse nicht in alphabetischer Reihenfolge sortiert sind.

rsort()-Funktion

rsort()-Funktion ist im Grunde dasselbe wie sort()-Funktion, außer dass sie in absteigender Reihenfolge sortiert wird.

Zum Beispiel haben wir ein eindimensionales Array:

$arr = array(5,8,3,0,2,7,1);
Wir können die Funktion rsort() verwenden, um es in absteigender Reihenfolge zu sortieren:

rsort($arr);
#🎜 🎜#Nach dem Sortieren ist das Array:
Array ( [0] => 8 [1] => 7 [2] => 5 [3] => 3 [4] => 2 [5] => 1 [6] => 0 )

rsort()-Funktion eignet sich auch zum Sortieren von String-Arrays.

asort()-Funktion und arsort()-Funktion

asort()-Funktion und arsort()-Funktion sind im Grunde die gleichen wie sort()-Funktion und rsort()-Funktion, mit der Ausnahme dass sie Die Schlüsselnamen (Schlüssel-Wert-Beziehungen) des ursprünglichen Arrays bleiben erhalten.

Zum Beispiel haben wir ein assoziatives Array:

$arr = array("apple" => 5, "banana" => 8, "peach" => 3, "orange" => 2);

Wir können die Funktion asort() verwenden, um es in aufsteigender Reihenfolge zu sortieren:

asort($arr);

Nach dem Sortieren lautet das Array:

Array ( [orange] => 2 [peach] => 3 [apple] => 5 [banana] => 8 )

Wie Sie sehen können, bleiben die Schlüsselnamen (Schlüssel-Wert-Beziehungen) gleich.

Die Funktion arsort() eignet sich auch zum Sortieren assoziativer Arrays in absteigender Reihenfolge.

ksort()-Funktion und krsort()-Funktion

ksort()-Funktion und krsort()-Funktion werden verwendet, um das Schlüsselwert-Array in aufsteigender und absteigender Reihenfolge nach Schlüssel zu sortieren Name.

Zum Beispiel haben wir ein Array von Schlüsselwerten:

$arr = array("x" => 5, "z" => 8, "y" => 3, "w" => 2);

Wir können die Funktion ksort() verwenden, um es in aufsteigender Reihenfolge zu sortieren:

ksort($arr);
#🎜 🎜#Nach dem Sortieren lautet das Array:

Array ( [w] => 2 [x] => 5 [y] => 3 [z] => 8 )
Sie können sehen, dass die Array-Elemente nach Schlüsselnamen sortiert sind (alphabetische Reihenfolge). Die Funktion

krsort() eignet sich auch zum Sortieren von Schlüsselwert-Arrays in absteigender Reihenfolge.

Mehrdimensionale Array-Sortierung

Die obige Funktion eignet sich zum Sortieren eindimensionaler Arrays. Beim Umgang mit mehrdimensionalen Arrays müssen Sie auf die hierarchische Sortierbeziehung achten.

Zum Beispiel haben wir ein zweidimensionales Array:

$arr = array(
    array("name" => "xiaoming", "age" => 30),
    array("name" => "xiaohong", "age" => 25),
    array("name" => "xiaoli", "age" => 20)
);
Wir können die Funktion usort() verwenden, um es in aufsteigender Reihenfolge nach Alter zu sortieren:

usort($arr, function($a, $b){
    if($a["age"] == $b["age"]){
        return 0;
    }
    return ($a["age"] < $b["age"]) ? -1 : 1;
});
# 🎜🎜#Das sortierte Array ist:

Array
(
    [0] => Array
        (
            [name] => xiaoli
            [age] => 20
        )

    [1] => Array
        (
            [name] => xiaohong
            [age] => 25
        )

    [2] => Array
        (
            [name] => xiaoming
            [age] => 30
        )

)

Wie Sie sehen können, sortiert die Funktion usort() das zweidimensionale Array in aufsteigender Reihenfolge nach Alter.

Zusammenfassung

Um ein eindimensionales Array zu sortieren, können Sie die Funktionen sort() und rsort() verwenden. Um assoziative Arrays zu sortieren, können Sie die Funktionen asort() und arsort() verwenden. Um Schlüsselwert-Arrays zu sortieren, können Sie die Funktionen ksort() und krsort() verwenden. Beim Umgang mit mehrdimensionalen Arrays können Sie die Funktion usort() verwenden, um eine Sortierung zu erreichen. Die Verwendung der oben genannten Funktionen kann die Effizienz und Genauigkeit der Array-Verarbeitung erheblich verbessern.

Das obige ist der detaillierte Inhalt vonSo sortieren Sie ein eindimensionales Array in PHP (eine kurze Analyse der Methode). 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