Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menentukan sama ada nilai kunci tatasusunan bersekutu kosong dalam php
Dalam PHP, nilai utama tatasusunan bersekutu boleh terdiri daripada sebarang jenis data, seperti rentetan, nombor, nilai Boolean, dsb. Apabila mengakses nilai kunci dalam tatasusunan, jika kunci wujud, nilai yang sepadan dengan kunci dikembalikan jika kunci tidak wujud, nol dikembalikan.
Jadi, bagaimana untuk menentukan sama ada nilai kunci tatasusunan bersekutu kosong? Berikut adalah beberapa kaedah.
Kaedah 1: Gunakan fungsi isset()
fungsi isset() boleh mengesan sama ada pembolehubah ditetapkan dan bukan nol. Apabila fungsi isset() digunakan pada tatasusunan bersekutu, anda boleh menggunakan subskrip untuk menentukan sama ada kunci itu wujud dalam tatasusunan Jika ia wujud dan nilai yang sepadan bukan nol, ia akan mengembalikan benar, jika tidak ia mengembalikan palsu.
Kod sampel:
$arr = array('name' => '张三', 'age' => null); if (isset($arr['name'])) { echo '键name存在,值为:' . $arr['name'] . '<br>'; } else { echo '键name不存在<br>'; } if (isset($arr['age'])) { echo '键age存在,值为:' . $arr['age'] . '<br>'; } else { echo '键age不存在<br>'; }
Hasil output:
键name存在,值为:张三 键age不存在
Seperti yang anda lihat, fungsi isset() boleh menentukan sama ada kunci tatasusunan bersekutu wujud , dan boleh Tentukan sama ada nilai yang sepadan kosong. Walau bagaimanapun, perlu diingatkan bahawa fungsi isset() boleh membezakan antara kes di mana nilai pembolehubah adalah nol dan pembolehubah tidak wujud, tetapi ia tidak dapat membezakan antara kes apabila nilai pembolehubah adalah palsu dan pembolehubah tidak wujud.
Kaedah 2: Gunakan fungsi array_key_exists()
Fungsi array_key_exists() boleh mengesan sama ada kunci yang ditentukan wujud dalam tatasusunan. Mengembalikan benar apabila kunci wujud dalam tatasusunan bersekutu sebaliknya mengembalikan palsu. Tidak seperti fungsi isset(), fungsi array_key_exists() tidak boleh menentukan sama ada nilai kunci yang sepadan kosong.
Kod sampel:
if (array_key_exists('name', $arr)) { echo '键name存在<br>'; } else { echo '键name不存在<br>'; } if (array_key_exists('age', $arr)) { echo '键age存在<br>'; } else { echo '键age不存在<br>'; }
Hasil output:
键name存在 键age存在
Seperti yang anda lihat, fungsi array_key_exists() boleh menentukan sama ada kunci tatasusunan bersekutu wujud , tetapi ia tidak boleh Menentukan sama ada nilai yang sepadan kosong.
Kaedah 3: Gunakan fungsi empty()
Fungsi kosong() boleh mengesan sama ada pembolehubah kosong. Apabila kunci wujud dalam tatasusunan bersekutu dan nilai yang sepadan tidak kosong, ia mengembalikan palsu, sebaliknya ia mengembalikan benar.
Kod sampel:
if (empty($arr['name'])) { echo '键name为空<br>'; } else { echo '键name非空,值为:' . $arr['name'] . '<br>'; } if (empty($arr['age'])) { echo '键age为空<br>'; } else { echo '键age非空,值为:' . $arr['age'] . '<br>'; }
Hasil keluaran:
键name非空,值为:张三 键age为空
Seperti yang anda lihat, fungsi empty() boleh menentukan sama ada nilai kunci tatasusunan bersekutu kosong. Walau bagaimanapun, perlu diingatkan bahawa fungsi empty() menganggap nilai seperti 0, '0', false dan ' ' sebagai kosong, yang mungkin membawa kepada beberapa keputusan yang tidak dijangka.
Ringkasnya, tiga kaedah di atas boleh digunakan untuk menentukan sama ada nilai kunci tatasusunan bersekutu kosong. Ia adalah perlu untuk memilih kaedah yang sesuai untuk digunakan mengikut senario perniagaan tertentu.
Atas ialah kandungan terperinci Bagaimana untuk menentukan sama ada nilai kunci tatasusunan bersekutu kosong dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!