Rumah >pembangunan bahagian belakang >masalah PHP >Apakah cara untuk membandingkan rentetan untuk kesamaan dalam PHP?

Apakah cara untuk membandingkan rentetan untuk kesamaan dalam PHP?

青灯夜游
青灯夜游asal
2021-12-31 18:41:225067semak imbas

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.

Apakah cara untuk membandingkan rentetan untuk kesamaan dalam PHP?

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 我爱你";// 返回true
tutorial php Terdapat juga satu set fungsi untuk perbandingan rentetan: strcmp, strcasecmp, strncasecmp(), strncmp(), perihalan nilai pulangan:

Apakah cara untuk membandingkan rentetan untuk kesamaan dalam PHP?

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 和 abc
strncasecmp 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn