Rumah >pembangunan bahagian belakang >masalah PHP >Apakah cara untuk membandingkan rentetan untuk kesamaan dalam PHP?
Kaedah untuk PHP untuk membandingkan sama ada rentetan adalah: 1. Gunakan pernyataan "String 1==String 2" 2. Gunakan pernyataan "String 1=== String 2"; pernyataan "strcmp(String 1, String 2)"; 4. Gunakan pernyataan "strcasecmp (String 1, String 2)" dan seterusnya.
Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 7.1, komputer DELL G3
Bandingkan dua aksara Sama ada rentetan adalah sama
Secara amnya anda boleh menggunakan !=, == untuk membandingkan sama ada dua objek adalah sama Ia hanya dikatakan bahawa ia adalah dua objek kerana ia tidak semestinya semua rentetan . Anda juga boleh Untuk integer dan sebagainya. Contohnya,
$a = "joe"; $b = "jerry"; if ($a != $b) { echo "不相等"; } else { echo "相等"; }
Jika anda menggunakan !==, === (anda boleh melihat tanda sama tambahan) sebagai perbandingan, jenis kedua-dua objek mestilah sama dengan betul untuk mengembalikan benar; use ==,! = secara automatik akan menukar rentetan kepada jenis yang sepadan untuk perbandingan
22 == "22"; // 返回 true 22 === "22"; // 返回false
Oleh sebab ini, beberapa "kemalangan" yang tidak dijangka sering berlaku dalam program kami:
0 == "我爱你"; // 返回true 1 == "1 我爱你";// 返回truetutorial php Terdapat juga satu set fungsi untuk perbandingan rentetan: strcmp, strcasecmp, strncasecmp(), strncmp(), perihalan nilai pulangan: strcmp digunakan untuk perbandingan rentetan sensitif huruf besar (iaitu sensitif huruf besar):
echo strcmp("abcdd", "abcde"); // 返回 1 (>0), 比较的是 "b"和"b"strcasecmp ialah digunakan untuk perbandingan rentetan tidak peka huruf besar dan kecil:
echo strcasecmp("abcdd", "abcde"); // 返回 -1 (<0), 比较的是"d"和"e"strncmp digunakan untuk membandingkan sebahagian daripada rentetan, bermula dari permulaan rentetan Parameter ketiga ialah panjang yang hendak dibandingkan:
echo strncmp("abcdd", "abcde", 3); // 返回 1 (>0), 比较了 abc 和 abcstrncasecmp digunakan untuk membandingkan bahagian rentetan dalam cara yang tidak sensitif, bermula dari permulaan rentetan. ialah hanya membandingkan saiz rentetan tidak dapat memenuhi keperluan kami yang telah ditetapkan Contohnya, seperti biasa, 10.gif akan lebih baik daripada 5.gif. Besar, tetapi jika anda menggunakan fungsi di atas, -1 akan dikembalikan, yang bermaksud 10.gif daripada 5.gif. Sebagai tindak balas kepada situasi ini, PHP menyediakan dua fungsi yang berbeza secara semula jadi strnatcmp dan strnatcasecmp:
echo strncasecmp("abcdd", "abcde", 3); // 返回 0, 比较了 abc 和 abc, 由于不区分大小写,所以两者是相同的。Pembelajaran yang disyorkan: "
Tutorial Video PHP
"echo strnatcmp("10.gif", "5.gif"); // 返回 1 (>0) echo strnatcasecmp("10.gif", "5.gif"); // 返回 1 (>0)
Atas ialah kandungan terperinci Apakah cara untuk membandingkan rentetan untuk kesamaan dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!