PHP ialah bahasa sebelah pelayan yang digunakan secara meluas, terutamanya dalam pembangunan web, di mana operasi tatasusunan sering diperlukan. Dalam tatasusunan, kadangkala anda perlu menentukan sama ada terdapat 0s dalam tatasusunan Artikel ini akan memperkenalkan cara PHP menentukan sama ada terdapat 0s dalam tatasusunan.
Perkara pertama yang perlu difahami ialah terdapat dua jenis tatasusunan dalam PHP: tatasusunan yang diindeks secara berangka dan tatasusunan bersekutu. Tatasusunan yang diindeks secara berangka bermakna kunci tatasusunan ialah nombor, manakala tatasusunan bersekutu bermakna kunci itu ialah rentetan. Sama ada tatasusunan indeks berangka atau tatasusunan bersekutu, anda boleh menggunakan beberapa kaedah yang disediakan oleh PHP untuk menentukan sama ada ia mengandungi 0.
Kaedah 1: fungsi in_array()
Fungsi in_array() boleh mencari nilai yang ditentukan dalam tatasusunan, dan mengembalikan benar jika ditemui, jika tidak ia mengembalikan palsu. Untuk menggunakan fungsi ini untuk menentukan sama ada tatasusunan mengandungi 0, anda boleh menggunakan kod berikut:
$array = array(1, 2, 3, 0, 4, 5); if (in_array(0, $array)) { echo "数组包含0"; } else { echo "数组不包含0"; }
Kod akan mengeluarkan "tatasusunan mengandungi 0" kerana tatasusunan mengandungi 0.
Perlu diambil perhatian bahawa fungsi in_array() adalah sensitif huruf besar-kecil secara lalai Jika tatasusunan mengandungi dua nilai 0 dan "0", hanya satu daripadanya boleh didapati menggunakan fungsi ini. Jika anda ingin melakukan carian tidak sensitif huruf besar-besaran, anda perlu menetapkan parameter ketiga kepada benar:
$array = array(1, 2, 3, "0", 4, 5); if (in_array("0", $array, true)) { echo "数组包含0"; } else { echo "数组不包含0"; }
Kod akan mengeluarkan "array contains 0" kerana apabila parameter ketiga ditetapkan kepada true, in_array ( ) fungsi akan melakukan carian tidak peka huruf besar-besaran.
Kaedah 2: fungsi array_search()
Fungsi array_search() boleh mencari nilai yang ditentukan dalam tatasusunan Jika ditemui, ia mengembalikan kunci nilai, jika tidak ia mengembalikan palsu. Untuk menggunakan fungsi ini untuk menentukan sama ada tatasusunan mengandungi 0, anda boleh menggunakan kod berikut:
$array = array(1, 2, 3, 0, 4, 5); if (array_search(0, $array) !== false) { echo "数组包含0"; } else { echo "数组不包含0"; }
Kod akan mengeluarkan "tatasusunan mengandungi 0" kerana tatasusunan mengandungi 0.
Perlu diambil perhatian bahawa fungsi array_search() juga peka huruf besar-kecil secara lalai Jika tatasusunan mengandungi dua nilai 0 dan "0", anda hanya boleh mencari salah satu daripadanya menggunakan fungsi ini . Jika anda ingin melakukan carian tidak peka huruf besar-besaran, anda perlu menetapkan parameter ketiga kepada benar:
$array = array(1, 2, 3, "0", 4, 5); if (array_search("0", $array, true) !== false) { echo "数组包含0"; } else { echo "数组不包含0"; }
Kod akan mengeluarkan "array contains 0" kerana apabila parameter ketiga ditetapkan kepada true, array_search ( ) fungsi akan melakukan carian tidak peka huruf besar-besaran.
Kaedah 3: Gunakan foreach untuk melintasi tatasusunan
Menggunakan foreach untuk melintasi tatasusunan boleh mencari dengan mudah sama ada tatasusunan mengandungi 0. Kodnya adalah seperti berikut:
$array = array(1, 2, 3, 0, 4, 5); $has_zero = false; foreach ($array as $value) { if ($value === 0) { $has_zero = true; break; } } if ($has_zero) { echo "数组包含0"; } else { echo "数组不包含0"; }
Kod akan mengeluarkan " Array mengandungi 0" kerana tatasusunan mengandungi 0.
Perlu diambil perhatian bahawa penggunaan foreach untuk melintasi tatasusunan akan menjadi lebih perlahan sedikit daripada fungsi in_array() dan fungsi_search_array(), tetapi kaedah ini mungkin lebih jelas dan lebih mudah difahami apabila melakukan operasi lain pada tatasusunan .
Ringkasnya, menggunakan fungsi in_array(), fungsi array_search() atau menggunakan foreach untuk merentasi tatasusunan dengan mudah boleh menentukan sama ada tatasusunan PHP mengandungi 0. Dalam pembangunan sebenar, kaedah yang paling sesuai boleh dipilih mengikut situasi sebenar.
Atas ialah kandungan terperinci Bagaimana untuk menentukan sama ada terdapat 0s dalam tatasusunan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!