Artifak PHP untuk pengisihan tatasusunan berbilang dimensi: fungsi multisort_recursive(), yang boleh mengisih secara rekursif mengikut mana-mana kunci Sintaksnya ialah: multisort_recursive(&$array, $sort_order1, ..., $sort_orderN, $options). Pilihan pengisihan termasuk: menaik (SORT_ASC), menurun (SORT_DESC), semula jadi (SORT_REGULAR), angka (SORT_NUMERIC) dan rentetan (SORT_STRING).
Penamat pengisihan tatasusunan berbilang dimensi PHP: menyelesaikan sepenuhnya masalah pengisihan
Untuk pembangun PHP yang mempunyai keperluan pengisihan tatasusunan berbilang dimensi, array_multisort() biasanya merupakan pilihan pertama yang terlintas di fikiran. Walau bagaimanapun, fungsi ini tidak mencukupi untuk pengisihan tatasusunan berbilang dimensi yang kompleks dan tidak dapat memenuhi keperluan pembangunan sebenar. Hari ini, kami akan memperkenalkan alternatif yang lebih berkuasa: fungsi 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()
Fungsi ini boleh mengisih tatasusunan berbilang dimensi dengan cekap secara rekursif kekunci isihan. 🎜🎜Sintaksnya adalah seperti berikut: 🎜rrreee🎜Di mana: 🎜$sort_order1 , ..., $sort_orderN
: Tatasusunan rentetan yang menyatakan syarat isihan, setiap rentetan mengandungi salah satu daripada pilihan isihan berikut: 🎜SORT_ASC kod>: Isih dalam tertib menaik<li><kod>SORT_DESC</kod></li>
: Isih dalam tertib menurunSORT_REGULAR
: Isih semula jadi (susun mengikut tertib nilai elemen)SORT_STRING
: Isih mengikut nilai rentetan$options
: Pilihan, nyatakan pilihan pengisihan tambahan, contohnya: 🎜SORT_LOCALE_STRING
: Isih mengikut rentetan sensitif setempatmultisort_recursive()
: 🎜rrreee🎜Hasil yang disusun ialah: 🎜rrreee🎜🎜Conclusion🎜🎜🎜multisort_recursive()
fungsi PHP The developers telah menyediakan alat berkuasa yang boleh mengendalikan tugas pengisihan tatasusunan berbilang dimensi yang kompleks dengan mudah. Ia lebih fleksibel dan berkuasa daripada array_multisort()
, menjadikannya lebih mudah untuk menulis kod pengisihan. 🎜Atas ialah kandungan terperinci Penamat pengisihan tatasusunan berbilang dimensi PHP: selesaikan sepenuhnya masalah pengisihan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!