Operator Perbandingan Kesamaan dan Identiti PHP: Memahami Perbezaan
Dalam PHP, pengendali perbandingan == (sama rata) dan === (sama persis) memainkan peranan penting dalam menentukan hubungan antara nilai. Memahami gelagat berbeza mereka adalah penting untuk pelaksanaan kod yang tepat.
Perbandingan Longgar (==)
Pengendali == melakukan perbandingan longgar, bermakna ia membandingkan nilai selepas jenis berjoget. Jenis juggling ialah penukaran nilai automatik daripada satu jenis kepada jenis yang lain. Contohnya, jika $a ialah rentetan dan $b ialah integer, perbandingan $a == $b akan mengembalikan BENAR jika nilai rentetan $a adalah sama dengan nilai integer $b.
Perbandingan Tegas (===)
Pengendali ===, sebaliknya, melakukan perbandingan yang ketat. Ia membandingkan kedua-dua nilai dan jenis data kedua-dua operan. Jika sama ada nilai atau jenis data berbeza, perbandingan akan mengembalikan FALSE.
Contoh
Contoh 1:
$a = "1"; $b = 1; if ($a == $b) { // TRUE - loose comparison ignores data types } if ($a === $b) { // FALSE - strict comparison considers both value and type }
Contoh 2:
$a = NULL; $b = FALSE; if ($a == $b) { // TRUE - NULL and FALSE are loosely equivalent } if ($a === $b) { // FALSE - strict comparison treats NULL and FALSE as distinct }
Ringkasnya, operator == menyediakan perbandingan yang fleksibel dengan membenarkan penukaran jenis tersirat, manakala operator === memastikan bahawa nilai dibandingkan dengan jenis data yang sama untuk menghapuskan sebarang kekaburan berkaitan jenis.
Atas ialah kandungan terperinci PHP Loose vs. Perbandingan Ketat: Bila Menggunakan `==` dan `===`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!