Wie sortiere ich ein mehrdimensionales Array in PHP und behalte dabei die Schlüsselnamen bei?

WBOY
Freigeben: 2024-05-03 21:51:01
Original
608 Leute haben es durchsucht

Sortieren Sie mehrdimensionale Arrays unter Beibehaltung der Schlüsselnamen: 1. Verwenden Sie uksort(), um nach Schlüsselwerten zu sortieren, und stellen Sie eine Vergleichsfunktion bereit, die 1, -1 oder 0 zurückgibt, um die relative Reihenfolge der Schlüsselwerte anzugeben. 2. Verwenden Sie krsort(), um Schlüsselwerte von hoch nach niedrig zu sortieren und dabei einen Array-Parameter zu akzeptieren.

如何在 PHP 中对多维数组进行排序,同时保留键名?

So sortieren Sie ein mehrdimensionales Array in PHP unter Beibehaltung der Schlüsselnamen

Manchmal müssen Sie möglicherweise ein mehrdimensionales Array unter Beibehaltung seiner Schlüsselnamen sortieren. Zu diesem Zweck stellt PHP die Funktionen uksort() und krsort() zur Verfügung. uksort()krsort() 函数。

uksort

uksort() 函数根据数组键的值对数组进行排序。它接受两个参数:一个包含要排序的数组和一个比较函数。比较函数应返回以下值之一:

  • 1,如果数组的第一个元素应在第二个元素之前
  • -1,如果数组的第一个元素应在第二个元素之后
  • 0,如果数组的第一个元素等于第二个元素
<?php

$cars = [
    "Mercedes" => "Germany",
    "BMW" => "Germany",
    "Toyota" => "Japan",
    "Honda" => "Japan"
];

uksort($cars, function($a, $b) {
    return strcmp($a, $b);
});

foreach ($cars as $key => $value) {
    echo "$key: $value\n";
}

?>
Nach dem Login kopieren

输出:

BMW: Germany
Honda: Japan
Mercedes: Germany
Toyota: Japan
Nach dem Login kopieren

krsort

krsort()

uksort

🎜🎜uksort()-Funktion sortiert ein Array basierend auf dem Wert des Array-Schlüssels. Es akzeptiert zwei Parameter: ein Array, das das zu sortierende Array enthält, und eine Vergleichsfunktion. Die Vergleichsfunktion sollte einen der folgenden Werte zurückgeben: 🎜
  • 1, wenn das erste Element des Arrays vor dem zweiten Element stehen soll
  • -1, wenn das erste Element des Arrays sollte nach dem zweiten Element
  • 0, wenn das erste Element des Arrays gleich dem zweiten Element ist
<?php

$cars = [
    "Mercedes" => "Germany",
    "BMW" => "Germany",
    "Toyota" => "Japan",
    "Honda" => "Japan"
];

krsort($cars);

foreach ($cars as $key => $value) {
    echo "$key: $value\n";
}

?>
Nach dem Login kopieren
🎜Ausgabe: 🎜
Toyota: Japan
Honda: Japan
Mercedes: Germany
BMW: Germany
Nach dem Login kopieren
🎜🎜krsort🎜🎜🎜 Der Die Funktion krsort() sortiert ein Array und sortiert die Schlüsselwerte von hoch nach niedrig. Es akzeptiert einen Parameter, das zu sortierende Array. 🎜rrreee🎜Ausgabe: 🎜rrreee

Das obige ist der detaillierte Inhalt vonWie sortiere ich ein mehrdimensionales Array in PHP und behalte dabei die Schlüsselnamen bei?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!