Wie sortiere ich ein assoziatives Array alphabetisch nach numerischem Wert und Schlüssel?

Patricia Arquette
Freigeben: 2024-11-11 07:48:03
Original
900 Leute haben es durchsucht

How to Sort an Associative Array by Numeric Value and Key Alphabetically?

Arrays nach numerischen Werten und Schlüsseln sortieren

In der Programmierung treten Situationen auf, in denen wir assoziative Arrays nach bestimmten Kriterien sortieren müssen. Ein solches Szenario ist das Sortieren eines Arrays nach numerischen Werten und dann nach Schlüsseln.

Angenommen, wir haben ein Array mit Zeichenfolgenschlüsseln und numerischen Werten, die das Vorkommen von Tags darstellen:

$arrTags = [
    'mango' => 2,
    'orange' => 4,
    'apple' => 2,
    'banana' => 3
];
Nach dem Login kopieren

Unser Ziel ist die Anzeige Zuerst werden die Tags in einer Liste mit dem höchsten Vorkommen angezeigt. Bei gleichem Vorkommen werden die Tag-Namen alphabetisch sortiert. Dies würde zu Folgendem führen:

orange (4)
banana (3)
apple (2)
mango (2)
Nach dem Login kopieren

Während die Funktion arsort() anfänglich die Werte sortieren kann, kann sie die alphabetische Reihenfolge der Schlüssel nicht beibehalten, wenn mehrere Werte gleich sind.

Wie vorgeschlagen von Scott Saunders können wir die Funktionen array_keys() und array_values() verwenden, um diese Einschränkung zu überwinden:

array_multisort(array_values($arrTags), SORT_DESC, array_keys($arrTags), SORT_ASC, $arrTags);
Nach dem Login kopieren

Diese Kombination von Funktionen ermöglicht es uns, die Schlüssel und Werte des Arrays direkt zu manipulieren und so letztendlich die gewünschte Sortierung zu erreichen Verhalten. Indem wir die Werte in absteigender Reihenfolge und dann die Schlüssel in aufsteigender Reihenfolge sortieren, erhalten wir unsere gewünschte Ausgabe.

Das obige ist der detaillierte Inhalt vonWie sortiere ich ein assoziatives Array alphabetisch nach numerischem Wert und Schlüssel?. 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