Rumah > Artikel > pembangunan bahagian belakang > Bagaimana Menguji Kebolehpercayaan untuk Kewujudan Pembolehubah dalam PHP?
PHP menyediakan fungsi isset() untuk menentukan kewujudan pembolehubah. Walau bagaimanapun, seperti yang dinyatakan dalam dokumentasi, ia gagal untuk membezakan antara pembolehubah yang tidak ditetapkan dan pembolehubah yang ditetapkan kepada NULL.
Pendekatan Alternatif dengan Had
Satu percubaan untuk mengatasi had ini ialah :
<code class="php">if (isset($v) || @is_null($v)) {...}</code>
Tetapi is_null() juga menghadapi isu yang sama, mengembalikan TRUE untuk pembolehubah yang tidak ditetapkan. Selain itu, @($v === NULL) berkelakuan sama dengan @is_null($v), menjadikannya tidak boleh digunakan.
Penyelesaian Boleh Dipercayai: array_key_exists()
Untuk cara yang boleh dipercayai untuk menyemak kewujudan pembolehubah, pertimbangkan array_key_exists(). Apabila digunakan pada pembolehubah global, ia secara berkesan membezakan antara pembolehubah tidak wujud dan pembolehubah yang ditetapkan kepada NULL.
Menunjukkan Perbezaan
Pertimbangkan contoh berikut:
<code class="php">$a = NULL; var_dump(array_key_exists('a', $GLOBALS)); // TRUE var_dump(array_key_exists('b', $GLOBALS)); // FALSE</code>
Output menunjukkan bahawa array_key_exists() dengan tepat mengenal pasti kewujudan $a walaupun ia ditetapkan kepada NULL.
Kesimpulan
Sementara isset() dan is_null() menyediakan sokongan separa untuk ujian kewujudan berubah-ubah, array_key_exists() menawarkan penyelesaian yang lebih tepat dan komprehensif. Kaedah ini membezakan dengan betul antara pembolehubah tidak ditetapkan dan pembolehubah yang ditetapkan kepada NULL dalam skop global dan tempatan.
Atas ialah kandungan terperinci Bagaimana Menguji Kebolehpercayaan untuk Kewujudan Pembolehubah dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!