Heim > Artikel > Backend-Entwicklung > Wie sortiere ich ein PHP-Array nach String-Länge in absteigender Reihenfolge?
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!