Heim  >  Artikel  >  Backend-Entwicklung  >  Mehrdimensionale PHP-Array-Sortierung enthüllt: Die Geheimnisse der Sortieralgorithmen enthüllen

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

WBOY
WBOYOriginal
2024-04-29 16:42:01814Durchsuche

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']);
}

内置函数 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],
];

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');
🎜🎜Sortieren nach aufsteigendem Namen🎜🎜
array_multisort(array_column($array, 'name'), SORT_ASC, array_column($array, 'age'), SORT_DESC);
🎜🎜Sortieren nach aufsteigendem Namen und abnehmendem Alter🎜🎜
print_r($array);
// [
//   ['name' => 'Alice', 'age' => 25],
//   ['name' => 'Eve', 'age' => 28],
//   ['name' => 'Bob', 'age' => 32],
// ]
🎜🎜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!

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