Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk mengisih tatasusunan mengikut kunci dalam PHP

Bagaimana untuk mengisih tatasusunan mengikut kunci dalam PHP

PHPz
PHPzke hadapan
2024-03-19 09:13:18676semak imbas

editor php Strawberry akan memperkenalkan kepada anda cara mengisih tatasusunan mengikut nama utama dalam PHP. Dalam PHP, anda boleh menggunakan fungsi ksort() untuk mengisih tatasusunan dalam tertib menaik mengikut nama kunci, dan menggunakan fungsi krsort() untuk mengisih tatasusunan dalam susunan menurun mengikut nama kunci. Kedua-dua fungsi ini akan mengekalkan perkaitan nilai kunci tatasusunan dan hanya mengisih nama kunci, yang sangat mudah dan praktikal. Melalui fungsi ini, anda boleh menyusun tatasusunan dengan mudah mengikut nama utama dan mengurus serta memanipulasi data tatasusunan dengan lebih baik.

Tatasusunan PHP diisih mengikut nama kunci

Pengenalan

Dalam php, anda boleh menggunakan fungsi ksort() untuk mengisih tatasusunan mengikut nama kunci. Fungsi ini mengisih kekunci tatasusunan dalam tertib menaik sambil mengekalkan nilai yang sepadan.

Tatabahasa

ksort(array &$array);

Antaranya:

  • $array ialah tatasusunan yang perlu diisih, dan tatasusunan akan diubah suai terus.

Penggunaan

Untuk mengisih tatasusunan mengikut nama kunci, gunakan langkah berikut:

  1. Isytihar dan mulakan tatasusunan.
  2. Gunakan fungsi ksort() untuk mengisih tatasusunan.

Contoh

$array = ["apple" => 10, "banana" => 20, "cherry" => 30, "dog" => 40];

ksort($array);

print_r($array);

Keluaran:

Array
(
[apple] => 10
[banana] => 20
[cherry] => 30
[dog] => 40
)

Pilihan tambahan

Pilihan tambahan berikut boleh digunakan untuk mengawal tingkah laku pengisihan:

  • SORT_REGULAR: Isih mengikut susunan semula jadi nama kunci (lalai).
  • SORT_NUMERIC: Isih mengikut nilai berangka nama kunci.
  • SORT_STRING: Isih mengikut nilai rentetan nama kunci.

Isih tersuai

Jika anda memerlukan pengisihan nama kunci yang lebih kompleks, anda boleh menggunakan fungsi isihan tersuai. Fungsi isihan tersuai perlu dalam format berikut:

function compare_function(string $a, string $b): int;

Antaranya:

  • $a$b adalah nama utama untuk dibandingkan.
  • Nilai yang dikembalikan oleh fungsi ini boleh menjadi salah satu daripada yang berikut:
    • -1 jika $a 排在 $b sebelum ini.
    • 0 jika $a$b adalah sama.
    • 1, jika $a 排在 $b selepas.

Contoh

Untuk menyesuaikan nama kunci isih, sila lakukan langkah berikut:

  1. Tentukan fungsi pengisihan tersuai.
  2. Lepaskan fungsi isihan tersuai sebagai hujah kedua kepada fungsi ksort().

Contoh

function custom_sort($a, $b)
{
return strcmp(strtoupper($a), strtoupper($b));
}

$array = ["apple" => 10, "banana" => 20, "cherry" => 30, "dog" => 40];

ksort($array, "custom_sort");

print_r($array);

Keluaran:

Array
(
[apple] => 10
[banana] => 20
[cherry] => 30
[dog] => 40
)

Perhatian

  • ksort() Fungsi akan terus mengubah suai tatasusunan yang diluluskan.
  • Jika tatasusunan mengandungi nama kunci pendua, hanya nama kunci pertama dan nilai sepadannya akan dikekalkan.
  • Anda juga boleh menggunakan fungsi krsort() untuk mengisih tatasusunan dalam tertib menurun mengikut nama kunci.

Atas ialah kandungan terperinci Bagaimana untuk mengisih tatasusunan mengikut kunci dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:lsjlt.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam