Heim > Backend-Entwicklung > PHP-Tutorial > Wie sortiere ich ein PHP-Array nach Wertlänge?

Wie sortiere ich ein PHP-Array nach Wertlänge?

Mary-Kate Olsen
Freigeben: 2024-11-03 10:08:29
Original
323 Leute haben es durchsucht

How to Sort a PHP Array by Value Length?

PHP: Array-Sortierung nach Wertlänge optimieren

Wenn Sie mit Arrays von Werten variabler Länge arbeiten, können Sie diese nach ihrer Elementlänge sortieren entscheidend für die effiziente Anordnung von Daten. Dieser Artikel zeigt eine praktische Lösung für dieses häufige Problem.

Lösung:

Die php.net-Website bietet eine Lösung unter Verwendung der usort-Funktion in Verbindung mit einer benutzerdefinierten Komparatorfunktion . Die benutzerdefinierte Funktion sortByLength vergleicht die Längen zweier Array-Elemente und gibt die Differenz zurück. Durch die Angabe einer absteigenden Reihenfolge beim Vergleich werden beim Sortieren des Arrays die längsten Array-Werte zuerst angezeigt.

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

usort($array,'sortByLength');</code>
Nach dem Login kopieren

Beachten Sie, dass diese Methode eine instabile Sortierung verwendet, was bedeutet, dass gleiche Elemente währenddessen ihre relative Reihenfolge ändern können Sortierung.

Alternativ kann die Funktion uasort verwendet werden, um die ursprünglichen Indizes beizubehalten.

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

Beispiel:

Um diese Lösung zu veranschaulichen, Betrachten Sie das folgende Array:

<code class="php">$array = array("bbbbb", "dog", "cat", "aaa", "aaaa");</code>
Nach dem Login kopieren

Sortierungsergebnisse:

Mit der Funktion sortByLength würde das sortierte Array wie folgt aussehen:

<code class="php">[
    0 => "bbbbb",
    1 => "aaaa",
    2 => "aaa",
    3 => "cat",
    4 => "dog"
]</code>
Nach dem Login kopieren

Währenddessen bleibt die ursprüngliche Reihenfolge der Elemente mit gleicher Länge erhalten.

Das obige ist der detaillierte Inhalt vonWie sortiere ich ein PHP-Array nach Wertlänge?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage