Heim  >  Artikel  >  Backend-Entwicklung  >  Wie sortiere ich ein mehrdimensionales Array in PHP und behalte dabei die Schlüsselnamen bei?

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

WBOY
WBOYOriginal
2024-05-03 21:51:01627Durchsuche

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";
}

?>

输出:

BMW: Germany
Honda: Japan
Mercedes: Germany
Toyota: Japan

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";
}

?>
🎜Ausgabe: 🎜
Toyota: Japan
Honda: Japan
Mercedes: Germany
BMW: Germany
🎜🎜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!

Stellungnahme:
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