Heim >Backend-Entwicklung >PHP-Tutorial >Der Terminator der mehrdimensionalen PHP-Array-Sortierung: Lösen Sie das Sortierproblem vollständig
PHPs Artefakt für die mehrdimensionale Array-Sortierung: die Funktion multisort_recursive(), die rekursiv nach jedem Schlüssel sortieren kann. Die Syntax lautet: multisort_recursive(&$array, $sort_order1, ..., $sort_orderN, $options). Zu den Sortieroptionen gehören: aufsteigend (SORT_ASC), absteigend (SORT_DESC), natürlich (SORT_REGULAR), numerisch (SORT_NUMERIC) und Zeichenfolge (SORT_STRING).
Der Schlusspunkt der mehrdimensionalen Array-Sortierung in PHP: Das Sortierproblem vollständig lösen
Für PHP-Entwickler, die mehrdimensionale Array-Sortierung benötigen, ist array_multisort() normalerweise die erste Wahl, die einem in den Sinn kommt. Diese Funktion reicht jedoch für eine komplexe mehrdimensionale Array-Sortierung nicht aus und kann die Anforderungen der tatsächlichen Entwicklung nicht erfüllen. Heute stellen wir eine leistungsfähigere Alternative vor: die Funktion multisort_recursive()
. multisort_recursive()
函数。
multisort_recursive()
函数
multisort_recursive()
函数可以高效地对多维数组进行递归排序,它能够按任意数量的排序键对数组中的元素排序。
其语法如下:
bool multisort_recursive(array &$array, string $sort_order1, ..., string $sort_orderN, int $options = SORT_REGULAR)
其中:
$array
:要排序的多维数组(引用传递)$sort_order1, ..., $sort_orderN
:指定排序条件的字符串数组,每个字符串包含以下排序选项之一:
SORT_ASC
:升序排列SORT_DESC
:降序排列SORT_REGULAR
:自然排序(按元素的值顺序排列)SORT_NUMERIC
:按照数字值排序SORT_STRING
:按照字符串值排序$options
:可选项,指定额外的排序选项,例如:
SORT_LOCALE_STRING
:按语言环境敏感的字符串排序实战案例
考虑以下多维数组:
$array = [ ['name' => 'John', 'age' => 30], ['name' => 'Jane', 'age' => 25], ['name' => 'Tom', 'age' => 28], ['name' => 'Mary', 'age' => 22], ];
我们希望按年龄升序,然后再按姓名升序对数组进行排序。我们可以使用 multisort_recursive()
函数轻松实现这一目标:
multisort_recursive($array, [SORT_ASC, SORT_ASC], [SORT_NUMERIC, SORT_STRING]);
排序后的结果为:
$array = [ ['name' => 'Mary', 'age' => 22], ['name' => 'Jane', 'age' => 25], ['name' => 'Tom', 'age' => 28], ['name' => 'John', 'age' => 30], ];
结语
multisort_recursive()
函数为 PHP 开发者提供了一个强大的工具,可以轻松应对复杂的多维数组排序任务。它比 array_multisort()
multisort_recursive()
Funktion 🎜🎜🎜multisort_recursive()
Die Funktion kann mehrdimensionale Arrays effizient rekursiv sortieren. Sie kann die Elemente im Array nach beliebiger Anzahl sortieren Sortierschlüssel. Sortieren von Elementen. 🎜🎜Die Syntax lautet wie folgt: 🎜rrreee🎜Wobei: 🎜$array
: das mehrdimensionale Array, das sortiert werden soll (als Referenz übergeben)$sort_order1 , ..., $sort_orderN
: Ein Array von Zeichenfolgen, die die Sortierbedingungen angeben. Jede Zeichenfolge enthält eine der folgenden Sortieroptionen: 🎜SORT_ASC code>: In aufsteigender Reihenfolge sortieren<li>
<code>SORT_DESC
: In absteigender Reihenfolge sortierenSORT_REGULAR
: Natürliche Sortierung (in der Reihenfolge anordnen). der Wert der Elemente)SORT_NUMERIC
: Nach numerischem Wert sortierenSORT_STRING
: Nach String-Wert sortieren$options
: Optional, geben Sie zusätzliche Sortieroptionen an, zum Beispiel: 🎜SORT_LOCALE_STRING
: Sortieren nach gebietsschemasensitive Zeichenfolgenmultisort_recursive()
erreichen: 🎜rrreee🎜Das sortierte Ergebnis ist: 🎜rrreee🎜🎜Fazit🎜🎜🎜multisort_recursive()
-Funktion ist PHP Die Entwickler haben ein leistungsstarkes Tool bereitgestellt, das komplexe mehrdimensionale Array-Sortieraufgaben problemlos bewältigen kann. Es ist flexibler und leistungsfähiger als array_multisort()
und erleichtert das Schreiben von Sortiercode. 🎜Das obige ist der detaillierte Inhalt vonDer Terminator der mehrdimensionalen PHP-Array-Sortierung: Lösen Sie das Sortierproblem vollständig. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!