Heim  >  Artikel  >  Backend-Entwicklung  >  Wie sortiere ich ein PHP-Array nach String-Länge in absteigender Reihenfolge?

Wie sortiere ich ein PHP-Array nach String-Länge in absteigender Reihenfolge?

Linda Hamilton
Linda HamiltonOriginal
2024-11-01 04:44:27117Durchsuche

How to Sort a PHP Array by String Length in Descending Order?

Sortieren eines Arrays nach Wertlänge in PHP

Im Bereich des Anagramm-Matchings kann das Anordnen positiver Übereinstimmungen in absteigender Reihenfolge ihrer Länge ein entscheidender Schritt sein. Wenn Sie in PHP vor dieser Herausforderung stehen, finden Sie hier eine Lösung mit der leistungsstarken Funktion usort.

<code class="php">function sortByLength($a, $b) {
    return strlen($b) - strlen($a);
}

usort($array, 'sortByLength');</code>

Diese benutzerdefinierte Funktion „sortByLength“ vergleicht die Längen zweier Zeichenfolgen und gibt einen negativen Wert zurück, wenn die erste Zeichenfolge länger ist. Die Funktion „usort“ sortiert das Array anhand der bereitgestellten Vergleichsfunktion.

Alternativ können Sie, wenn Sie die ursprünglichen Array-Indizes beibehalten müssen, stattdessen „uasort“ verwenden:

<code class="php">uasort($array, 'sortByLength');</code>

Während beide usort und uasort bieten praktikable Lösungen. usort gilt als instabile Sortierung, was bedeutet, dass gleiche Elemente nach dem Sortieren möglicherweise nicht ihre ursprüngliche Reihenfolge beibehalten. Daher gewährleistet die bereitgestellte Version ein stabiles Sortierverhalten.

Um den Sortiervorgang zu veranschaulichen, betrachten Sie das folgende Array:

<code class="php">$array = ["bbbbb", "dog", "cat", "aaa", "aaaa"];</code>

Nach dem Sortieren wird das Array wie folgt angeordnet:

[0] => "bbbbb"
[1] => "aaaa"
[2] => "aaa"
[3] => "cat"
[4] => "dog"

Das obige ist der detaillierte Inhalt vonWie sortiere ich ein PHP-Array nach String-Länge in absteigender Reihenfolge?. 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