Bagaimana untuk mengekalkan nama kunci dalam tatasusunan yang diisih menggunakan PHP?

WBOY
Lepaskan: 2024-05-03 15:36:02
asal
888 orang telah melayarinya

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.

如何使用 PHP 维护排序后的数组中的键名?

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);
Salin selepas log masuk

使用 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);
Salin selepas log masuk

Gunakan fungsi 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');
Salin selepas log masuk

Menggunakan pembanding tersuai

🎜 Anda boleh menentukan fungsi pembanding anda sendiri untuk mengawal peraturan pengisihan, termasuk kekunci: 🎜
// 获取用户数据
$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>';
}
Salin selepas log masuk
🎜🎜Kes praktikal: Isih pengguna mengikut kekunci 🎜 perenggan ini🎜 kod akan mengeluarkan senarai pengguna yang diisih mengikut id dalam tertib menaik, mengekalkan nama kunci asal. 🎜

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!

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