Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menentukan sama ada array kosong dalam php
Dengan penggunaan PHP yang meluas, kadangkala kita menghadapi situasi di mana kita perlu menentukan sama ada tatasusunan kosong. Tetapi bagaimana untuk menilai tatasusunan kosong dengan betul?
Cara yang paling intuitif ialah menggunakan fungsi count() untuk mengira bilangan elemen tatasusunan Jika nombornya 0, tatasusunan itu kosong. Contohnya:
$arr = []; if (count($arr) == 0) { echo '数组为空'; } else { echo '数组不为空'; }
Kelebihan kaedah ini ialah ia sesuai untuk semua jenis tatasusunan dan sangat ringkas serta mudah difahami. Walau bagaimanapun, ia juga mempunyai beberapa kelemahan. Pertama sekali, ia menggunakan sumber sistem tertentu dan tidak sesuai untuk pembolehubah jenis bukan tatasusunan. Kedua, ia tidak dapat membezakan sama ada elemen tatasusunan ialah rentetan kosong, tatasusunan kosong, 0 atau palsu, dsb., jadi ia mungkin membawa kepada kita beberapa masalah yang tidak dijangka.
Jadi, adakah cara yang lebih baik untuk menentukan sama ada tatasusunan itu kosong? Jawapannya ya. Dua kaedah yang biasa digunakan diperkenalkan di bawah.
PHP menyediakan fungsi empty(), yang boleh menentukan secara langsung sama ada pembolehubah kosong tanpa menduduki sumber sistem. Untuk tatasusunan, jika tatasusunan tidak mengandungi sebarang unsur, ia mengembalikan benar secara langsung, jika tidak ia mengembalikan palsu. Contohnya:
$arr = []; if (empty($arr)) { echo '数组为空'; } else { echo '数组不为空'; }
Perlu diambil perhatian bahawa fungsi empty() hanya terpakai kepada pembolehubah, jadi tatasusunan mesti diberikan kepada pembolehubah terlebih dahulu dan kemudian dinilai. Di samping itu, untuk tatasusunan, fungsi empty() tidak boleh membezakan antara rentetan kosong, 0 atau palsu, dsb., yang sama dengan tatasusunan kosong, jadi ia perlu digunakan dengan berhati-hati.
Fungsi is_array() boleh menentukan sama ada pembolehubah adalah daripada jenis tatasusunan. Ia membezakan dengan baik antara tatasusunan dan jenis pembolehubah lain tanpa mengikat sumber sistem. Mengembalikan benar jika pembolehubah adalah jenis tatasusunan, palsu sebaliknya. Contohnya:
$arr = []; if (is_array($arr) && count($arr) == 0) { echo '数组为空'; } else { echo '数组不为空'; }
Perlu diingat bahawa anda perlu menggunakan operator && bersama-sama dengan fungsi count() untuk memastikan tatasusunan kosong. Jika tidak, jika pembolehubah bukan jenis tatasusunan, fungsi count() akan melaporkan ralat.
Ringkasnya, menilai sama ada tatasusunan itu kosong bukanlah perkara yang terlalu rumit, tetapi ia perlu digunakan secara terpilih mengikut situasi sebenar. Jika jenis tatasusunan boleh ditentukan dan tidak perlu dibezakan sebagai rentetan kosong, 0 atau palsu, dsb., anda boleh menggunakan fungsi is_array() jika tidak, adalah disyorkan untuk menggunakan fungsi empty() untuk pertimbangan.
Atas ialah kandungan terperinci Bagaimana untuk menentukan sama ada array kosong dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!