Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk mengisih tatasusunan dalam PHP dan mengekalkan hubungan indeks

Bagaimana untuk mengisih tatasusunan dalam PHP dan mengekalkan hubungan indeks

WBOY
Lepaskan: 2024-03-19 13:22:01
ke hadapan
404 orang telah melayarinya

editor php Banana akan memperkenalkan kepada anda cara mengisih tatasusunan dan mengekalkan hubungan indeks dalam PHP. Pengisihan tatasusunan ialah operasi biasa, tetapi kadangkala kami mahu tatasusunan yang diisih itu masih mengekalkan hubungan indeks asal, untuk memastikan integriti dan kesesuaian data. Dalam PHP, kita boleh menggunakan beberapa fungsi dan teknik terbina dalam untuk mencapai matlamat ini, supaya tatasusunan yang diisih masih sepadan dengan indeks tatasusunan asal. Seterusnya, kami akan membincangkan isu ini bersama-sama, dengan harapan dapat membantu semua orang menggunakan fungsi pengisihan tatasusunan PHP dengan lebih baik.

Isih tatasusunan PHP dan mengekalkan hubungan indeks

Petikan

Dalam php, tatasusunan adalah dinamik struktur data digunakan untuk menyimpan dan mengurus data. Isih tatasusunan ialah operasi biasa dalam pemprosesan data, dan kadangkala perlu mengekalkan hubungan antara indeks tatasusunan selepas mengisih.

ksort() fungsi

Fungsi

ksort() digunakan untuk mengisih tatasusunan bersekutu, ia mengisih tatasusunan dalam tertib menaik berdasarkan nilai kunci. Jika kuncinya ialah rentetan, ia akan diisih mengikut susunan abjad rentetan itu.

$arr = ["name" => "John", "age" => 30, "city" => "New York"];
ksort($arr);
print_r($arr);
Salin selepas log masuk

Keluaran:

Array
(
[age] => 30
[city] => New York
[name] => John
)
Salin selepas log masuk

fungsi krsort()

Fungsi

krsort() adalah serupa dengan fungsi ksort(), tetapi ia mengisih tatasusunan bersekutu dalam tertib menurun.

$arr = ["name" => "John", "age" => 30, "city" => "New York"];
krsort($arr);
print_r($arr);
Salin selepas log masuk

Keluaran:

Array
(
[name] => John
[city] => New York
[age] => 30
)
Salin selepas log masuk
Salin selepas log masuk

fungsi pelbagai()

Fungsi

asort() digunakan untuk mengisih tatasusunan, ia mengisih tatasusunan dalam tertib menaik berdasarkan nilai dalam tatasusunan. Jika nilai ialah rentetan, ia diisih mengikut susunan abjad rentetan.

$arr = [10, 5, 2, 8, 4];
asort($arr);
print_r($arr);
Salin selepas log masuk

Keluaran:

Array
(
[2] => 2
[4] => 4
[5] => 5
[8] => 8
[10] => 10
)
Salin selepas log masuk

fungsi arsort()

Fungsi

arsort() adalah serupa dengan fungsi asort(), tetapi ia menyusun tatasusunan dalam tertib menurun.

$arr = [10, 5, 2, 8, 4];
arsort($arr);
print_r($arr);
Salin selepas log masuk

Keluaran:

Array
(
[10] => 10
[8] => 8
[5] => 5
[4] => 4
[2] => 2
)
Salin selepas log masuk

fungsi sort()

Fungsi

sort() digunakan untuk mengisih tatasusunan, ia mengisih tatasusunan dalam tertib menaik berdasarkan nilai dalam tatasusunan. Walau bagaimanapun, fungsi sort() mengindeks semula tatasusunan, menyebabkan hubungan indeks hilang.

$arr = ["name" => "John", "age" => 30, "city" => "New York"];
sort($arr);
print_r($arr);
Salin selepas log masuk

Keluaran:

Array
(
[0] => John
[1] => New York
[2] => 30
)
Salin selepas log masuk

Gunakan fungsi perbandingan tersuai

Untuk mengisih tatasusunan melalui fungsi perbandingan tersuai dan mengekalkan hubungan indeks, anda boleh menggunakan fungsi uasort() atau usort().

function compare($a, $b) {
return strnatcmp($a["name"], $b["name"]);
}

$arr = ["name" => "John", "age" => 30, "city" => "New York"];
uasort($arr, "compare");
print_r($arr);
Salin selepas log masuk

Keluaran:

Array
(
[name] => John
[city] => New York
[age] => 30
)
Salin selepas log masuk
Salin selepas log masuk

Ringkasan

Anda boleh mengekalkan perhubungan indeks apabila mengisih tatasusunan PHP dengan menggunakan ksort(), krsort(), asort(), arsort() dan fungsi perbandingan tersuai. Ini berguna jika anda masih perlu mengakses indeks asal selepas mengisih.

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

Label berkaitan:
sumber:lsjlt.com
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