In PHP kann es vorkommen, dass Sie ein flaches, assoziatives Array basierend auf numerischen Werten sortieren müssen und dann per Schlüssel. Dies kann eine anspruchsvolle Aufgabe sein, insbesondere wenn Sie mit den entsprechenden Techniken nicht vertraut sind.
Ein Ansatz besteht darin, usort() zu verwenden, um die Werte und Schlüssel gleichzeitig zu vergleichen. Dies kann jedoch eine mühsame und komplexe Lösung sein.
Eine einfachere und effizientere Lösung besteht darin, die Funktionen array_values() und array_keys() in Verbindung mit array_multisort() zu verwenden. Mit dieser Technik können Sie die gewünschte Sortierung in einer einzigen Codezeile erreichen:
array_multisort(array_values($arrTags), SORT_DESC, array_keys($arrTags), SORT_ASC, $arrTags);
Dieser Code isoliert die numerischen Werte und Schlüssel in separate Arrays, sortiert sie absteigend bzw. aufsteigend und führt dann die Ergebnisse zusammen zurück in das ursprüngliche $arrTags-Array.
Die resultierenden $arrTags werden in absteigender Reihenfolge nach numerischen Werten und dann in aufsteigender Reihenfolge nach Schlüsseln sortiert das gewünschte Format:
orange (4) banana (3) apple (2) mango (2)
Das obige ist der detaillierte Inhalt vonWie kann ich in PHP ein assoziatives Array nach numerischen Werten und dann nach Schlüsseln sortieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!