Heim  >  Artikel  >  Backend-Entwicklung  >  So verwenden Sie die Funktion usort, um ein Array in PHP individuell zu sortieren

So verwenden Sie die Funktion usort, um ein Array in PHP individuell zu sortieren

王林
王林Original
2023-06-26 12:06:511593Durchsuche

Sortieren ist eine der häufigsten Operationen bei der Verwendung von PHP für Array-Operationen. PHP bietet viele verschiedene Sortierfunktionen, einschließlich der usort-Funktion. Die Funktion „usort“ kann ein Array nach festgelegten Regeln sortieren. Im Gegensatz zu anderen Sortierfunktionen können Benutzer die Sortierregeln jedoch anpassen.

In diesem Artikel erfahren Sie, wie Sie die Funktion usort in PHP verwenden und wie Sie die Funktion usort für die benutzerdefinierte Sortierung verwenden.

1. Das Grundformat der usort-Funktion

Bei der Verwendung der usort-Funktion zum Sortieren müssen wir auf die folgenden Punkte achten:

  • Diese Funktion erfordert zwei Parameter sortiert, und der zweite Parameter ist eine Rückruffunktion zum Definieren von Sortierregeln.
  • Die Rückruffunktion muss eine Regel zum Vergleichen der Größen zweier Elemente definieren. Insbesondere muss sie einen ganzzahligen Wert zurückgeben. Die Bedeutung des Rückgabewerts ist:
  • größer als 0 bedeutet, dass das erste Element größer ist als das zweites Element und muss ausgetauscht werden.
  • gleich 0 bedeutet, dass die beiden Elemente gleich sind und keine Notwendigkeit besteht, Positionen zu tauschen kein Positionstausch nötig.
  • Apropos: Wir müssen anonyme Funktionen in PHP verstehen. Eine anonyme Funktion ist ein Codeteil, der keinen Namen hat und in einer Variablen definiert und gespeichert werden kann.

Das Folgende ist das Grundformat der usort-Funktion:

usort(array &$array, callable $cmp_function)

Unter diesen ist $array das Array, das sortiert werden muss, und $cmp_function ist die Rückruffunktion, die zum Definieren der Sortierregeln verwendet wird.

2. Beispiele für die Verwendung der usort-Funktion

Sehen wir uns ein Beispiel für die Verwendung der usort-Funktion an.

<?php
$fruits = array("apple", "banana", "orange", "peach");

function cmp($a, $b)
{
    return strlen($a) - strlen($b);
}

usort($fruits, "cmp");

print_r($fruits);
?>

Im obigen Beispiel haben wir zunächst ein Array $fruits definiert, das vier Früchte enthält. Als nächstes definieren wir eine Rückruffunktion cmp, um die Regel zum Sortieren von Zeichenfolgenlängen von klein nach groß zu implementieren. In der Funktion usort übergeben wir das Array $fruits und die Funktion cmp als Parameter. Nachdem die Funktion ausgeführt wurde, wird das Array $fruits gemäß den Regeln der Stringlänge von klein nach groß sortiert.

Die laufenden Ergebnisse sind wie folgt:

Array
(
    [0] => apple
    [1] => peach
    [2] => banana
    [3] => orange
)

3. Verwenden Sie die usort-Funktion für die benutzerdefinierte Sortierung.

Zusätzlich zur Verwendung der usort-Funktion für die normale Sortierung können wir auch benutzerdefinierte Sortierregeln entsprechend unseren eigenen Anforderungen definieren.

Das Folgende ist ein Beispiel, um ein zweidimensionales Array mit den Namen und dem Alter von Personen von klein nach groß nach Alter zu sortieren.

<?php
$people = array(
    array('name' => 'Jim', 'age' => 23),
    array('name' => 'Tom', 'age' => 18),
    array('name' => 'Lucy', 'age' => 26),
    array('name' => 'Lily', 'age' => 20),
);

function cmp($a, $b)
{
    return $a['age'] - $b['age'];
}

usort($people, "cmp");

print_r($people);
?>

Im obigen Beispiel haben wir ein zweidimensionales Array $people definiert, das zwei Felder enthält: Name und Alter. Als nächstes definieren wir eine Rückruffunktion cmp, um die Regeln für die Sortierung nach Alter von klein nach groß zu implementieren. Was in der Funktion zurückgegeben wird, ist $a['age'] - $b['age'], was bedeutet, dass das Array nach Alter von klein nach groß sortiert wird.

Die laufenden Ergebnisse sind wie folgt:

Array
(
    [0] => Array
        (
            [name] => Tom
            [age] => 18
        )

    [1] => Array
        (
            [name] => Lily
            [age] => 20
        )

    [2] => Array
        (
            [name] => Jim
            [age] => 23
        )

    [3] => Array
        (
            [name] => Lucy
            [age] => 26
        )

)

Sie können sehen, dass das $people-Array gemäß den von uns definierten Regeln von klein nach groß nach Alter sortiert wurde.

Anhand des obigen Beispiels können wir feststellen, dass die usort-Funktion über sehr leistungsstarke benutzerdefinierte Sortierfunktionen verfügt, indem einfach eine Rückruffunktion definiert wird. Es ist jedoch zu beachten, dass die Rückruffunktion einen ganzzahligen Wert zurückgeben muss, um sicherzustellen, dass die Funktion ordnungsgemäß funktionieren kann.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie die Funktion usort, um ein Array in PHP individuell zu 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