Dalam PHP, tatasusunan kosong bukan palsu. Dalam bahasa PHP, tatasusunan kosong ialah nilai rujukan, yang tidak sama dengan nilai palsu. Walau bagaimanapun, apabila anda menggunakan tatasusunan kosong dalam operasi logik, atau menggunakannya sebagai ungkapan bersyarat, ia akan dianggap sebagai nilai palsu.
Nuansa berpotensi ini boleh menyebabkan beberapa masalah, terutamanya apabila anda menggunakan penukaran jenis. Sebagai contoh, apabila menggunakan tatasusunan kosong dalam pengendali perbandingan, anda perlu menukarnya secara eksplisit kepada jenis boolean untuk mengelakkan ralat yang mungkin berlaku.
Dalam contoh berikut, kami akan menggambarkan bagaimana tatasusunan kosong berkelakuan dalam situasi berbeza:
// 创建一个空数组 $values = array(); // 检查数组是否为空 if (empty($values)) { // 空数组会被转换为false值 echo "The array is empty"; } else { echo "The array is not empty"; } // 检查数组是否为false if ($values) { // 空数组被视为false值 echo "The array is not false"; } else { echo "The array is false"; } // 将空数组强制转换为布尔类型 if ((bool) $values) { echo "The array is not false"; } else { echo "The array is false"; } // 比较空数组和false值 if ($values === false) { // 这个条件始终不成立 echo "The array is equal to false"; } else { echo "The array is not equal to false"; }
Dalam contoh di atas, kami mula-mula mencipta tatasusunan kosong $values
. Seterusnya, kami menggunakan fungsi empty()
untuk menyemak sama ada tatasusunan kosong. Oleh kerana tatasusunan kosong, syarat itu dianggap benar.
Seterusnya, kami menggunakan $values
sebagai ungkapan bersyarat. Oleh kerana tatasusunan kosong, ia dianggap sebagai nilai palsu. Untuk mengelakkan ini, kita boleh menukar tatasusunan secara eksplisit kepada jenis boolean menggunakan (bool)
.
Akhir sekali, kami membandingkan tatasusunan kosong dengan nilai palsu. Oleh kerana tatasusunan kosong tidak sama dengan nilai palsu, syarat ini tidak pernah benar.
Ringkasnya, dalam PHP, tatasusunan kosong tidak sama dengan nilai palsu. Walau bagaimanapun, apabila anda menggunakan tatasusunan kosong dalam operasi logik, atau menggunakannya sebagai ungkapan bersyarat, ia akan dianggap sebagai nilai palsu.
Atas ialah kandungan terperinci Adakah tatasusunan kosong palsu dalam php?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!