Perbandingan Kosong dan Kosong PHP
Dalam PHP, menghadapi nilai nol boleh mengelirukan, terutamanya apabila cuba membandingkannya. Artikel ini meneroka perbezaan antara nilai nol dan kosong, menjawab persoalan mengapa rentetan kosong boleh mencetuskan perbandingan nol.
Perbezaan antara Null dan Empty
PHP membezakan antara nilai nol dan kosong. Null menandakan ketiadaan sebarang nilai, manakala kosong merujuk kepada nilai dengan nilai palsu. Nilai kosong termasuk rentetan kosong (''), 0, false, null dan tatasusunan kosong ([]).
Operator Perbandingan
Operator perbandingan == , yang digunakan dalam kod anda, membandingkan dua nilai mengikut kesamaan mereka. Walau bagaimanapun, tingkah laku perbandingan PHP berbeza sedikit daripada bahasa pengaturcaraan lain. Apabila menggunakan ==, ia menganggap null, false, 0, rentetan kosong dan tatasusunan kosong sebagai sama.
Penyelesaian
Untuk mengelakkan tingkah laku yang tidak dijangka ini, gunakan pengendali perbandingan yang ketat === sebaliknya. === menyemak kedua-dua nilai dan jenis pembolehubah yang dibandingkan dan hanya mengembalikan benar jika kedua-duanya adalah sama.
<code class="php">$a = ''; if($a === NULL) { echo 'is null'; }</code>
Dengan menggunakan ===, syarat akan mengembalikan palsu dengan betul kerana rentetan kosong ialah tidak betul-betul sama dengan null.
Ringkasnya, PHP's == operator membandingkan nilai secara longgar, membenarkan perbandingan tidak konsisten yang melibatkan nilai null dan kosong. Untuk mengelakkan kekaburan ini, adalah disyorkan untuk menggunakan operator perbandingan yang ketat === dalam situasi sedemikian.
Atas ialah kandungan terperinci Mengapa Rentetan Kosong Mencetuskan Perbandingan Null dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!