Dalam PHP, kadangkala kita perlu membandingkan sama ada dua pembolehubah adalah sama. Untuk mencapai fungsi ini, kita boleh menggunakan operator sama "==" atau operator kongruen "===". Walaupun kedua-dua pengendali boleh melakukan perbandingan kesaksamaan, terdapat beberapa perbezaan antara mereka.
Dalam artikel ini, kami akan memperkenalkan fungsi khusus "==" dan "===" masing-masing, dan membincangkan perbezaan dan senario penggunaannya secara terperinci.
1. "==" operator
Operator "==" ialah operator yang sama dalam PHP, yang digunakan untuk membandingkan sama ada nilai dua pembolehubah adalah sama. Contohnya:
$x = 4; $y = "4"; if ($x == $y) { echo "变量x和y的值相等"; }
Dalam contoh di atas, walaupun $x dan $y mempunyai jenis yang berbeza, nilainya adalah sama. Oleh itu, menggunakan operator "==" menentukan bahawa hasilnya adalah benar dan mengeluarkan "nilai pembolehubah x dan y adalah sama."
Walau bagaimanapun, perlu diambil perhatian bahawa pengendali "==" hanya membandingkan nilai, tanpa mengira jenis data pembolehubah. Oleh itu, ada kemungkinan beberapa hasil perbandingan mungkin tidak memenuhi jangkaan.
Sebagai contoh, dalam contoh berikut:
$x = 0; $y = "abc"; if ($x == $y) { echo "变量x和y的值相等"; }
Walaupun jenis data dan nilai $x dan $y berbeza, pengendali "==" digunakan untuk perbandingan dan hasilnya adalah output adalah "nilai pembolehubah x dan y adalah sama".
2. Operator “===”
Operator “===” ialah operator kongruen dalam PHP, yang digunakan untuk membandingkan dua pembolehubah nilai dan jenis data adalah sama. Contohnya:
$x = 4; $y = "4"; if ($x === $y) { echo "变量x和y的值和数据类型都相等"; }
Dalam contoh di atas, $x dan $y mempunyai nilai yang sama tetapi jenis yang berbeza. Oleh itu, menggunakan operator "===" untuk perbandingan akan menghasilkan palsu dan tiada apa yang akan dikeluarkan.
3 Perbezaan antara “==” dan “===”
“== ” Operator hanya membandingkan sama ada nilai pembolehubah adalah sama, tidak kira sama ada jenis pembolehubah adalah sama. Operator "===" membandingkan sama ada nilai dan jenis pembolehubah adalah sama.
Apabila kedua-dua jenis dan nilai pembolehubah adalah sama, keputusan menggunakan operator "==" dan operator "===" kedua-duanya benar. Tetapi apabila jenis pembolehubah berbeza, hasil penggunaan operator "==" dan operator "===" mungkin berbeza.
Sebagai contoh, dalam contoh berikut:
$x = 1; $y = "1"; if ($x == $y) { echo "值相等"; } if ($x === $y) { echo "值和类型都相等"; }
Gunakan operator "==" untuk perbandingan, dan hasil output ialah "nilai yang sama"; pengendali untuk perbandingan, tidak mengeluarkan apa-apa.
4. Senario Penggunaan
Dalam kebanyakan kes, adalah disyorkan Gunakan operator "===" untuk perbandingan berubah-ubah. Ini memastikan ketepatan keputusan perbandingan dan mengelakkan beberapa keputusan perbandingan yang tidak dijangka.
Apabila beberapa jenis penukaran diperlukan, operator "==" boleh digunakan. Contohnya, apabila anda perlu menukar rentetan kepada integer, anda boleh menggunakan pengendali "==", seperti yang ditunjukkan di bawah:
$x = "4"; if ($x == 4) { echo "转换成功"; }
Dalam senario lain Dalam sesetengah senario, seperti perbandingan tatasusunan, pengendali "==" boleh digunakan.
$x = array("a" => "apple", "b" => "banana"); $y = array("a" => "apple", "b" => "banana"); if ($x == $y) { echo "数组相等"; }
Ringkasnya, pilihan operator perlu diputuskan mengikut situasi sebenar, dan dalam kebanyakan kes, adalah disyorkan untuk menggunakan operator "===" untuk perbandingan berubah-ubah untuk memastikan ketepatan daripada hasil perbandingan.
Atas ialah kandungan terperinci Analisis ringkas tentang perbezaan antara == dan === dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!