Untuk mengekalkan nama kunci tatasusunan yang diisih, anda boleh menggunakan kaedah berikut: gunakan ksort() dan krsort() untuk mengisih mengikut kunci dan mengekalkan susunan kunci. Gunakan array_multisort() untuk mengisih berdasarkan berbilang lajur (termasuk kekunci) secara serentak. Tentukan fungsi pembanding tersuai untuk mengawal pengumpulan.
Bagaimana untuk mengekalkan nama kunci dalam tatasusunan yang diisih menggunakan PHP?
Kadangkala, selepas mengisih tatasusunan dalam PHP, anda ingin mengekalkan nama kunci asal. Begini cara untuk melakukannya:
Menggunakan fungsi ksort()
dan krsort()
ksort()
和 krsort()
函数
ksort()
和 krsort()
按键对数组进行排序。这些函数分别按升序和降序对保持键名:
// 按键升序排序 $array = ['name' => 'John', 'age' => 30, 'city' => 'New York']; ksort($array); // 按键降序排序 $array = ['name' => 'John', 'age' => 30, 'city' => 'New York']; krsort($array);
使用 array_multisort()
函数
array_multisort()
ksort()
dan krsort()
Mengisih tatasusunan mengikut kekunci. Fungsi ini mengekalkan nama utama dalam susunan menaik dan menurun masing-masing: // 按键升序排序,如果键相等则按值降序排序
$names = ['name1', 'name3', 'name5', 'name2', 'name4'];
$ages = [20, 30, 50, 40, 60];
array_multisort($names, SORT_ASC, SORT_NUMERIC, $ages, SORT_DESC);
array_multisort()
array_multisort()
untuk mengisih berbilang lajur tatasusunan pada masa yang sama masa , termasuk kekunci: function compareKeys($a, $b) {
return strcmp($a['key'], $b['key']);
}
$array = [{'key' => 'a'}, {'key' => 'c'}, {'key' => 'b'}];
usort($array, 'compareKeys');
// 获取用户数据 $users = [ ['id' => 1, 'name' => 'John Doe'], ['id' => 3, 'name' => 'Jane Smith'], ['id' => 2, 'name' => 'Bob Johnson'] ]; // 使用 ksort 按键升序排序用户 ksort($users); // 按升序的键输出用户列表 foreach ($users as $user) { echo $user['id'] . ': ' . $user['name'] . '<br>'; }
Atas ialah kandungan terperinci Bagaimana untuk mengekalkan nama kunci dalam tatasusunan yang diisih menggunakan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!