Pengisihan Array Berbilang Dimensi PHP Didedahkan: Mendedahkan Misteri Algoritma Isih

WBOY
Lepaskan: 2024-04-29 16:42:01
asal
861 orang telah melayarinya

PHP menyediakan pelbagai cara untuk mengisih tatasusunan berbilang dimensi: mengisih mengikut satu kekunci menggunakan fungsi sort() dan assor(), dan mengisih mengikut nilai menaik dan menurun masing-masing. Tulis fungsi pengisihan tersuai untuk mengisih mengikut mana-mana kunci dan menyokong peraturan yang kompleks. Gunakan fungsi array_multisort() untuk mengisih mengikut berbilang kunci pada masa yang sama Anda perlu menyediakan kekunci isihan dan tatasusunan untuk diisih.

Pengisihan Array Berbilang Dimensi PHP Didedahkan: Mendedahkan Misteri Algoritma Isih

Pengisihan Tatasusunan Berbilang Dimensi PHP Didedahkan: Mendedahkan Misteri Algoritma Pengisihan

Pengisihan tatasusunan berbilang dimensi ialah tugas biasa dalam pembangunan PHP. Apabila mengisih tatasusunan berbilang dimensi, anda boleh mengisih mengikut satu atau berbilang kunci. Artikel ini akan meneroka algoritma untuk menyusun tatasusunan berbilang dimensi dalam PHP dan menyediakan kes praktikal.

Algoritma

Fungsi terbina dalam sort() dan asort()sort()asort()

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

自定义排序函数

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

function compare($a, $b) {
  return strcmp($a['name'], $b['name']);
}
Salin selepas log masuk

内置函数 array_multisort()

array_multisort()

  • sort() mengikut kepada kunci Tertib semula jadi menyusun tatasusunan bersekutu dengan meningkatkan nilai.
  • asort() Mengisih tatasusunan bersekutu dalam tertib nilai menurun mengikut susunan semula jadi kekunci.

Fungsi Isih Tersuai

Fungsi isihan tersuai membolehkan anda mengisih mengikut sebarang kekunci. Kaedah ini berguna apabila anda perlu mengisih berdasarkan peraturan yang rumit.

$array = [
  ['name' => 'Alice', 'age' => 25],
  ['name' => 'Bob', 'age' => 32],
  ['name' => 'Eve', 'age' => 28],
];
Salin selepas log masuk

Fungsi terbina dalam array_multisort()

array_multisort() membolehkan anda mengisih menggunakan berbilang kekunci pada masa yang sama. Ia memerlukan dua tatasusunan, satu mengandungi kunci isihan dan satu lagi mengandungi tatasusunan untuk diisih.

Kes praktikalPertimbangkan tatasusunan berbilang dimensi berikut:

usort($array, 'compare');
Salin selepas log masuk
🎜🎜Isih mengikut peningkatan nama🎜🎜
array_multisort(array_column($array, 'name'), SORT_ASC, array_column($array, 'age'), SORT_DESC);
Salin selepas log masuk
🎜🎜Isih mengikut peningkatan nama, penurunan umur🎜🎜
print_r($array);
// [
//   ['name' => 'Alice', 'age' => 25],
//   ['name' => 'Eve', 'age' => 28],
//   ['name' => 'Bob', 'age' => 32],
// ]
Salin selepas log masuk
yang disusun🎜🎜rrreee🎜🎜rrreee yang disusun🎜🎜rrreee🎜

Atas ialah kandungan terperinci Pengisihan Array Berbilang Dimensi PHP Didedahkan: Mendedahkan Misteri Algoritma Isih. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan