Operator Perbandingan Kesamaan dan Identiti PHP: Memahami Perbezaan
Dalam PHP, operator perbandingan digunakan untuk menilai kesamaan atau identiti dua pembolehubah . Di antara pengendali ini, pengendali kesaksamaan (==) dan pengendali identiti (===) memainkan peranan yang penting. Artikel ini bertujuan untuk menjelaskan perbezaan antara kedua-dua pengendali ini, memberikan pemahaman yang jelas tentang cara ia berfungsi.
Operator Kesamaan (==)
Kesamaan yang ditaip secara longgar operator menyediakan pendekatan yang lembut untuk perbandingan. Ia cuba menukar jenis operan untuk dipadankan dan kemudian membandingkan nilainya. Ini membenarkan situasi di mana operan pelbagai jenis masih boleh mengembalikan BENAR atau SALAH berdasarkan sama ada ia adalah sama secara logik.
Contohnya:
$a = 1; $b = '1'; // Returns TRUE var_dump($a == $b);
Dalam contoh ini, integer $a ialah ditukar kepada rentetan ('1') untuk dipadankan dengan $b. Memandangkan kedua-dua nilai kini adalah sama ('1'), perbandingan menghasilkan TRUE.
Operator Identiti (===)
Berbeza dengan kesamaan yang ditaip secara longgar pengendali, pengendali identiti menuntut kesaksamaan yang ketat dan identiti jenis. Ia tidak menukar atau mentafsir jenis data operan. Sebaliknya, ia menyemak dengan ketat sama ada nilai dan jenis operan adalah sama.
$a = 1; $b = '1'; // Returns FALSE var_dump($a === $b);
Dalam contoh ini, pengendali identiti mengembalikan FALSE sebagai jenis $a (integer) dan $b (rentetan) adalah berbeza, walaupun nilainya adalah sama.
Memahami Perbezaan
Perbezaan utama antara pengendali kesaksamaan dan pengendali identiti terletak pada pengendalian penghantaran jenis mereka. == membenarkan penukaran jenis, manakala === menegaskan pemeliharaan jenis.
Apabila menggunakan ==, adalah penting untuk mengetahui kemungkinan hasil yang tidak dijangka disebabkan oleh penukaran jenis. === memberikan perbandingan yang lebih dipercayai dengan memastikan kedua-dua nilai bukan sahaja sama tetapi juga daripada jenis data yang sama.
Atas ialah kandungan terperinci PHP's `==` vs. `===`: Apakah Perbezaan Antara Persamaan dan Perbandingan Identiti?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!