新聞中心
本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版、DELL G3電腦

比較兩個(gè)字符串是否相等
一般能用 !=、== 比較兩個(gè)對(duì)象是否相等,只所以說(shuō)是兩個(gè)對(duì)象,是因?yàn)樗麄儾灰欢ㄈ繛樽址?,也能為整型等等。比?/p>
$a = "joe";
$b = "jerry";
if ($a != $b)
{
echo "不相等";
}
else
{
echo "相等";
}
如果用 !==、===(能看到多了一個(gè)等號(hào))比較的話,兩個(gè)對(duì)象的類型要嚴(yán)格相等才能返回true;否則用==、!=則會(huì)將字符串自動(dòng)轉(zhuǎn)換成相應(yīng)的類型,以便進(jìn)行比較.
22 == "22"; // 返回 true 22 === "22"; // 返回false
正因?yàn)檫@樣,所以我們的程式時(shí)常會(huì)發(fā)生一些想不到的“意外”:
0 == "我愛(ài)你"; // 返回true 1 == "1 我愛(ài)你";// 返回true
php教程里 更有這樣一組用于字符串比較的函數(shù):strcmp、strcasecmp、strncasecmp()、 strncmp(),返回值說(shuō)明:
strcmp是用于區(qū)分大小寫(即大小寫敏感)的字符串比較:
echo strcmp("abcdd", "abcde"); // 返回 1 (>0), 比較的是 "b"和"b"
strcasecmp用于不區(qū)分大小寫的字符串比較:
echo strcasecmp("abcdd", "abcde"); // 返回 -1 (<0), 比較的是"d"和"e"
strncmp用于比較字符串的一部分,從字符串的開(kāi)頭開(kāi)始比較,第三個(gè)參數(shù),為要比較的長(zhǎng)度:
echo strncmp("abcdd", "abcde", 3); // 返回 1 (>0), 比較了 abc 和 abc
strncasecmp用于不區(qū)分大小寫的比較字符串的一部分,從字符串的開(kāi)頭開(kāi)始比較,第三個(gè)參數(shù),為要比較的長(zhǎng)度:
echo strncasecmp("abcdd", "abcde", 3); // 返回 0, 比較了 abc 和 abc, 由于不區(qū)分大小寫,所以兩者是相同的。
更有一種情況是單單比較字符串大小,達(dá)不到我們預(yù)定的需求,比如照常理 10.gif 會(huì)比 5.gif 大,但如果應(yīng)用上面幾個(gè)函數(shù),就會(huì)返回 -1,即表示 10.gif比5.gif,針對(duì)這種情況,php提供了兩個(gè)自然對(duì)比的函數(shù)strnatcmp,strnatcasecmp:
echo strnatcmp("10.gif", "5.gif"); // 返回 1 (>0)
echo strnatcasecmp("10.gif", "5.gif"); // 返回 1 (>0) 網(wǎng)站題目:php比對(duì)字符串是否相等的方法有哪些
標(biāo)題URL:http://www.dlmjj.cn/article/ccsosoo.html


咨詢
建站咨詢
