PHP ialah bahasa skrip yang digunakan secara meluas yang menyokong banyak struktur data, antaranya tatasusunan adalah salah satu yang paling biasa digunakan. Dalam PHP, adalah penting untuk menentukan sama ada tatasusunan disusun kerana ia boleh menjejaskan prestasi dan ketepatan kod. Artikel ini akan memperkenalkan cara untuk menentukan sama ada tatasusunan PHP dipesan.
1. Klasifikasi tatasusunan PHP
Sebelum memahami cara menentukan sama ada tatasusunan PHP adalah teratur, kita perlu memahami klasifikasi tatasusunan PHP. Mengikut jenis subskrip tatasusunan, tatasusunan PHP boleh dibahagikan kepada dua jenis:
- tatasusunan indeks: subskrip meningkat secara berterusan daripada 0, dan subskrip tidak perlu ditulis;
tatasusunan bersekutu: Subskrip boleh berupa sebarang rentetan atau nombor dan mesti ditulis secara eksplisit. -
2 Tentukan sama ada tatasusunan indeks adalah dalam susunan
Dalam tatasusunan indeks, kita boleh menggunakan fungsi pengisihan untuk menentukan sama ada ia adalah dalam susunan. PHP menyediakan banyak fungsi pengisihan, seperti sort(), rsort(), asort(), arsort(), dll. Berikut ialah kod sampel yang menggunakan fungsi sort() untuk menentukan sama ada tatasusunan indeks adalah teratur:
function is_sorted($arr) {
sort($arr);
return $arr === range(min($arr), max($arr));
}
Salin selepas log masuk
Kod ini menggunakan fungsi sort() untuk mengisih tatasusunan dan menggunakan fungsi range() untuk menjana tatasusunan bersebelahan yang sama seperti jujukan Nombor tatasusunan asal. Kemudian anda boleh membandingkan dua tatasusunan untuk menentukan sama ada tatasusunan asal adalah teratur.
3. Tentukan sama ada tatasusunan bersekutu adalah teratur
Dalam tatasusunan bersekutu, kita perlu menggunakan kaedah lain untuk menentukan sama ada ia teratur. Berikut ialah kod sampel yang menggunakan fungsi array_keys() untuk menentukan sama ada tatasusunan bersekutu adalah teratur:
function is_sorted_assoc(array $arr) {
$keys = array_keys($arr);
$prev_key = $keys[0];
foreach ($keys as $key) {
if ($prev_key > $key) {
return false;
}
$prev_key = $key;
}
return true;
}
Salin selepas log masuk
Kod ini menggunakan fungsi array_keys() untuk mengeluarkan nilai kunci tatasusunan, dan kemudian mengulangi nilai utama ini dan membandingkannya satu demi satu. Jika nilai kunci tidak dalam tertib menaik, maka kembalikan palsu, jika tidak, kembalikan benar.
4 Tentukan sama ada tatasusunan berbilang dimensi adalah dalam susunan
Dalam tatasusunan berbilang dimensi, kita perlu mengisih setiap sub-tatasusunan secara berasingan, dan kemudian menentukan sama ada tatasusunan itu teratur. Berikut ialah contoh kod yang menggunakan fungsi usort() untuk menentukan sama ada tatasusunan berbilang dimensi disusun:
function is_sorted_multi(array $array): bool
{
foreach ($array as $sub_array) {
usort($sub_array, function ($a, $b) {
return $a <=> $b;
});
if ($sub_array !== array_values($sub_array)) {
return false;
}
}
return true;
}
Salin selepas log masuk
Kod ini menggunakan fungsi usort() untuk mengisih subarray dan menggunakan array_values() berfungsi untuk menghasilkan urutan nombor yang berturutan. Akhir sekali, bandingkan sama ada tatasusunan yang diisih dan jujukan yang dijana adalah sama untuk menentukan sama ada subarray adalah teratur. Jika semua subarray diisih, kemudian kembalikan benar, sebaliknya kembalikan palsu.
Ringkasan: Artikel ini memperkenalkan cara untuk menentukan sama ada tatasusunan PHP adalah teratur. Untuk tatasusunan diindeks, kita boleh menggunakan fungsi pengisihan untuk menilai untuk tatasusunan bersekutu, kita boleh menggunakan fungsi array_keys() untuk menilai bagi tatasusunan berbilang dimensi, kita perlu mengisih setiap sub-tatasusunan secara berasingan dan menilai sama ada ia teratur . Dalam pembangunan sebenar, kita perlu memilih kaedah yang sesuai untuk menentukan sama ada tatasusunan disusun mengikut keperluan sebenar.
Atas ialah kandungan terperinci Bagaimana untuk menentukan susunan tatasusunan php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!