Apabila membandingkan rentetan dalam PHP, beberapa pilihan tersedia: ' ==', '===', dan 'strcmp()'. Berikut adalah pandangan yang lebih dekat pada perbezaan mereka.
Pengendali '==' melakukan perbandingan yang longgar, bermakna ia mengabaikan jenis data. Oleh itu, '1' == '01' menilai kepada benar, kerana kedua-dua rentetan mewakili nilai berangka yang sama.
Pengendali '===', sebaliknya, melakukan perbandingan yang ketat dengan mengambil kira kedua-dua jenis data dan nilai. '1' === '01' akan menilai kepada false.
Fungsi 'strcmp()' mengembalikan integer yang menunjukkan hasil membandingkan dua rentetan. Nilai negatif bermakna rentetan pertama adalah kurang daripada rentetan kedua, nilai positif menunjukkan rentetan pertama adalah lebih besar dan 0 bermakna rentetan adalah sama.
The pilihan yang sesuai bergantung pada aplikasi khusus:
Dalam contoh yang anda berikan:
if ($password === $password2) { ... }
Ini biasanya selamat untuk membandingkan kata laluan. Walau bagaimanapun, jika perbandingan tidak sensitif huruf besar-besaran diperlukan, pertimbangkan untuk menggunakan 'strcmp()' dengan bendera tidak sensitif huruf besar-kecil.
Atas ialah kandungan terperinci Perbandingan Rentetan PHP: `==`, `===`, atau `strcmp()` – Mana Yang Perlu Anda Gunakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!