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

Apakah cara untuk membandingkan rentetan untuk kesamaan dalam PHP?

青灯夜游
Lepaskan: 2023-03-14 17:28:01
asal
5104 orang telah melayarinya

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 "相等";
}
Salin selepas log masuk

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
Salin selepas log masuk

Oleh sebab ini, beberapa "kemalangan" yang tidak dijangka sering berlaku dalam program kami:

0 == "我爱你"; // 返回true
1 == "1 我爱你";// 返回true
Salin selepas log masuk
<🎜. > 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"
Salin selepas log masuk
strcasecmp ialah digunakan untuk perbandingan rentetan tidak peka huruf besar dan kecil:

echo strcasecmp("abcdd", "abcde"); // 返回 -1 (<0), 比较的是"d"和"e"
Salin selepas log masuk
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
Salin selepas log masuk
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, 由于不区分大小写,所以两者是相同的。
Salin selepas log masuk
Pembelajaran yang disyorkan: "

Tutorial Video PHP

"
echo strnatcmp("10.gif", "5.gif"); // 返回 1 (>0)
echo strnatcasecmp("10.gif", "5.gif"); // 返回 1 (>0)
Salin selepas log masuk

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 Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan