Mehrdimensionale PHP-Array-Sortierung enthüllt: Die Geheimnisse der Sortieralgorithmen enthüllen

WBOY
Freigeben: 2024-04-29 16:42:01
Original
827 Leute haben es durchsucht

PHP bietet verschiedene Möglichkeiten zum Sortieren mehrdimensionaler Arrays: Sortieren nach einem einzelnen Schlüssel mithilfe der Funktionen sort() und asort() sowie Sortieren nach zunehmenden bzw. abnehmenden Werten. Schreiben Sie benutzerdefinierte Sortierfunktionen, um nach einem beliebigen Schlüssel zu sortieren und komplexe Regeln zu unterstützen. Verwenden Sie die Funktion array_multisort(), um nach mehreren Schlüsseln gleichzeitig zu sortieren. Sie müssen den Sortierschlüssel und das zu sortierende Array angeben.

Mehrdimensionale PHP-Array-Sortierung enthüllt: Die Geheimnisse der Sortieralgorithmen enthüllen

PHP Multidimensional Array Sorting Revealed: Die Geheimnisse der Sortieralgorithmen aufdecken

Multidimensionale Array-Sortierung ist eine häufige Aufgabe in der PHP-Entwicklung. Beim Sortieren eines mehrdimensionalen Arrays können Sie nach einem oder mehreren Schlüsseln sortieren. In diesem Artikel wird der Algorithmus zum Sortieren mehrdimensionaler Arrays in PHP untersucht und praktische Fälle vorgestellt.

Algorithmus

Eingebaute Funktionen sort() und asort()sort()asort()

  • sort() 根据键的自然顺序对关联数组按值递增排序。
  • asort() 根据键的自然顺序对关联数组按值递减排序。

自定义排序函数

自定义排序函数允许您按任意键进行排序。当您需要根据复杂规则排序时,此方法很有用。

function compare($a, $b) {
  return strcmp($a['name'], $b['name']);
}
Nach dem Login kopieren

内置函数 array_multisort()

array_multisort()

  • sort() entsprechend zum Schlüssel Natürliche Reihenfolge sortiert assoziative Arrays nach aufsteigendem Wert.
  • asort() Sortiert ein assoziatives Array in absteigender Reihenfolge der Werte entsprechend der natürlichen Reihenfolge der Schlüssel.

Benutzerdefinierte Sortierfunktion

Mit der benutzerdefinierten Sortierfunktion können Sie nach einem beliebigen Schlüssel sortieren. Diese Methode ist nützlich, wenn Sie nach komplexen Regeln sortieren müssen.

$array = [
  ['name' => 'Alice', 'age' => 25],
  ['name' => 'Bob', 'age' => 32],
  ['name' => 'Eve', 'age' => 28],
];
Nach dem Login kopieren

Mit der integrierten Funktion array_multisort()

array_multisort() können Sie mit mehreren Schlüsseln gleichzeitig sortieren. Es benötigt zwei Arrays, eines mit dem Sortierschlüssel und das andere mit dem zu sortierenden Array.

Praktischer FallBetrachten Sie das folgende mehrdimensionale Array:

usort($array, 'compare');
Nach dem Login kopieren
🎜🎜Sortieren nach aufsteigendem Namen🎜🎜
array_multisort(array_column($array, 'name'), SORT_ASC, array_column($array, 'age'), SORT_DESC);
Nach dem Login kopieren
🎜🎜Sortieren nach aufsteigendem Namen und abnehmendem Alter🎜🎜
print_r($array);
// [
//   ['name' => 'Alice', 'age' => 25],
//   ['name' => 'Eve', 'age' => 28],
//   ['name' => 'Bob', 'age' => 32],
// ]
Nach dem Login kopieren
🎜🎜Geben Sie das sortierte Array aus:🎜🎜rrre ee

Das obige ist der detaillierte Inhalt vonMehrdimensionale PHP-Array-Sortierung enthüllt: Die Geheimnisse der Sortieralgorithmen enthüllen. 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!