Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Membezakan Antara Tatasusunan Berjujukan dan Bersekutu dalam PHP?

Bagaimanakah Saya Boleh Membezakan Antara Tatasusunan Berjujukan dan Bersekutu dalam PHP?

Mary-Kate Olsen
Lepaskan: 2024-12-09 04:25:11
asal
620 orang telah melayarinya

How Can I Distinguish Between Sequential and Associative Arrays in PHP?

Menentukan Sifat Tatasusunan PHP: Bersekutu atau Berjujukan

Dalam PHP, tatasusunan secara semula jadi bersekutu, tidak mempunyai mekanisme terbina dalam untuk membezakan antara kekunci angka bermula dari 0 ( tatasusunan berjujukan) dan kunci rentetan arbitrari (tatasusunan bersekutu). Pembezaan ini boleh menjadi penting untuk pelbagai senario pengaturcaraan.

Memeriahkan Tatasusunan Berjujukan dan Bersekutu

Untuk menentukan sama ada tatasusunan adalah berjujukan, anda boleh memanfaatkan fungsi array_is_list() yang baru diperkenalkan dalam PHP 8.1. Walau bagaimanapun, untuk versi PHP yang lebih lama, fungsi tersuai boleh menyediakan alternatif praktikal:

function array_is_list(array $arr)
{
    if ($arr === []) {
        return true;
    }
    return array_keys($arr) === range(0, count($arr) - 1);
}
Salin selepas log masuk

Fungsi ini menyemak sama ada tatasusunan kosong atau jika kekuncinya ialah urutan nombor berterusan bermula dari 0. Jika kedua-dua keadaan dipenuhi, tatasusunan dianggap berurutan.

Contoh Penggunaan

Untuk menggambarkan kefungsian array_is_list() fungsi:

var_dump(array_is_list([])); // true
var_dump(array_is_list(['a', 'b', 'c'])); // true
var_dump(array_is_list(["0" => 'a', "1" => 'b', "2" => 'c'])); // true
var_dump(array_is_list(["1" => 'a', "0" => 'b', "2" => 'c'])); // false
var_dump(array_is_list(["a" => 'a', "b" => 'b', "c" => 'c'])); // false
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membezakan Antara Tatasusunan Berjujukan dan Bersekutu dalam 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan