Rumah > Artikel > pembangunan bahagian belakang > Menyahsulit Tanda Berganda Sama Dalam PHP: Mendedahkan Misteri Operator ==
Operator == dalam PHP melakukan perbandingan yang lemah, menyemak sama ada nilai adalah sama manakala operator === melakukan perbandingan yang kuat, menyemak sama ada nilai dan jenis adalah sama. Untuk perbandingan angka dengan rentetan, == boleh mengembalikan benar, manakala === mungkin mengembalikan palsu. Sentiasa gunakan operator === apabila perbandingan yang kukuh diperlukan.
Dalam PHP, pengendali tanda sama berganda (==) digunakan untuk membandingkan dua nilai untuk kesamaan. Pada pandangan pertama, ia kelihatan seperti pengendali yang mudah, tetapi gali lebih dalam dan anda akan mendapati bahawa ia lebih rumit daripada yang kelihatan.
== operator melakukan perbandingan yang lemah, yang bermaksud ia hanya menyemak sama ada nilai dua nilai adalah sama, tanpa mengambil kira jenisnya. Sebaliknya, operator === (dipanggil pengendali identiti) melakukan perbandingan yang kuat, yang memeriksa bukan sahaja nilai tetapi juga jenis untuk kesamaan.
Perbezaan lebih jelas lagi apabila melibatkan perbandingan antara nilai angka dan rentetan:
var_dump(1 == "1"); // true var_dump(1 === "1"); // false
Dalam perbandingan yang lemah, 1 dan "1" kedua-duanya dianggap sebagai 1, jadi mereka dianggap sama. Walau bagaimanapun, dalam perbandingan yang kuat, jenis tidak sepadan, jadi mereka tidak dianggap sama.
Pertimbangkan perbandingan berikut:
$amount = 100; if ($amount == "100") { // ... }
Memandangkan == melakukan perbandingan yang lemah, operasi perbandingan masih akan kembali benar walaupun $amount ialah integer. Walau bagaimanapun, jika anda ingin menyemak sama ada $amount sebenarnya adalah integer 100, anda boleh menggunakan operator ===:
if ($amount === 100) { // ... }
Apabila menggunakan operator ==, anda perlu memberi perhatian kepada perkara berikut:
==
dan ===
untuk menentukan pengecam objek. ==
和 ===
判断对象的标识符。closeEnough()
closeEnough()
untuk perbandingan anggaran. Atas ialah kandungan terperinci Menyahsulit Tanda Berganda Sama Dalam PHP: Mendedahkan Misteri Operator ==. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!