Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Kaedah pengisihan tatasusunan pantas yang mengekalkan nama kunci dalam PHP

Kaedah pengisihan tatasusunan pantas yang mengekalkan nama kunci dalam PHP

PHPz
PHPzasal
2024-05-02 15:06:01939semak imbas

Kaedah pengisihan tatasusunan pantas dalam PHP yang mengekalkan nama kunci: Gunakan fungsi ksort() untuk mengisih kekunci. Gunakan fungsi uasort() untuk mengisih menggunakan fungsi perbandingan yang ditentukan pengguna. Contoh praktikal: Untuk mengisih tatasusunan ID pengguna dan skor mengikut skor sambil mengekalkan ID pengguna, anda boleh menggunakan fungsi uasort() dan fungsi perbandingan tersuai.

PHP 中保留键名的快速数组排序方法

Kaedah pengisihan tatasusunan pantas dalam PHP yang mengekalkan nama utama

Dalam PHP, pengisihan tatasusunan biasanya merosakkan nama kunci. Walau bagaimanapun, kadangkala adalah penting untuk mengekalkan nama kunci asal. Di bawah disenaraikan beberapa cara untuk mengisih tatasusunan dengan cepat sambil mengekalkan nama kunci:

1 Gunakan pasangan fungsi ksort()ksort()

ksort() 函数对数组中的键进行排序,并保留原始键名。

$arr = ['apple' => 5, 'banana' => 1, 'cherry' => 3];
ksort($arr);
print_r($arr);

输出:

Array
(
    [apple] => 5
    [banana] => 1
    [cherry] => 3
)

2. 使用 uasort()

uasort()

ksort() Kekunci dalam. tatasusunan diisih, mengekalkan nama kunci asal.

function cmp($a, $b)
{
    return $a <=> $b;
}

$arr = ['apple' => 5, 'banana' => 1, 'cherry' => 3];
uasort($arr, "cmp");
print_r($arr);

Output:

Array
(
    [banana] => 1
    [cherry] => 3
    [apple] => 5
)

2 Gunakan fungsi uasort()

uasort() untuk mengisih tatasusunan bersekutu menggunakan fungsi perbandingan yang ditentukan pengguna semasa memelihara nama Kunci.

$scores = [
    'user1' => 85,
    'user2' => 90,
    'user3' => 75,
];

// 使用 uasort() 排序数组
function cmp($a, $b)
{
    return $a[1] <=> $b[1];
}

uasort($scores, "cmp");
🎜Output: 🎜
Array
(
    [user3] => 75
    [user1] => 85
    [user2] => 90
)
🎜🎜Kes praktikal🎜🎜🎜Andaikan anda mempunyai pelbagai ID pengguna dan markah yang sepadan. Anda perlu mengisih tatasusunan sambil mengekalkan ID pengguna. 🎜rrreee🎜 Tatasusunan yang diisih kini dalam tertib menaik mengikut skor sambil mengekalkan ID pengguna: 🎜rrreee

Atas ialah kandungan terperinci Kaedah pengisihan tatasusunan pantas yang mengekalkan nama kunci dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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