首頁  >  文章  >  後端開發  >  php比對字串是否相等的方法有哪些

php比對字串是否相等的方法有哪些

青灯夜游
青灯夜游原創
2021-12-31 18:41:224979瀏覽

php比較字串是否相等的方法有:1、使用「字串1==字串2」語句;2、使用「字串1===字串2」語句;3、使用「strcmp(字串1,字串2)」語句;4、使用「strcasecmp(字串1,字串2)」語句等等。

php比對字串是否相等的方法有哪些

本教學操作環境:windows7系統、PHP7.1版、DELL G3電腦

比較兩個字符串是否相等

一般能用!=、== 比較兩個對像是否相等,只所以說是兩個對象,是因為他們不一定全部為字串,也能為整型等等。例如

$a = "joe";
$b = "jerry";
if ($a != $b)
{
    echo "不相等";
}
else
{
    echo "相等";
}

如果用!==、===(能看到多了一個等號)比較的話,兩個物件的型別要嚴格相等才能回傳true;否則用==、!=則會將字串自動轉換成對應的類型,以便進行比較.

22 == "22"; // 返回 true
22 === "22"; // 返回false

正因為這樣,所以我們的程式時常會發生一些想不到的「意外」:

0 == "我爱你"; // 返回true
1 == "1 我爱你";// 返回true

php教學裡 更有這樣一組用於字串比較的函數:strcmp、strcasecmp、strncasecmp()、 strncmp(),傳回值說明:

php比對字串是否相等的方法有哪些

strcmp是用來區分大小寫(即大小寫敏感)的字串比較:

echo strcmp("abcdd", "abcde"); // 返回 1 (>0), 比较的是 "b"和"b"

strcasecmp用於不區分大小寫的字串比較:

echo strcasecmp("abcdd", "abcde"); // 返回 -1 (<0), 比较的是"d"和"e"

strncmp用於比較字串的一部分,從字串的開頭開始比較,第三個參數,為要比較的長度:

echo strncmp("abcdd", "abcde", 3); // 返回 1 (>0), 比较了 abc 和 abc

strncasecmp用於不區分大小寫的比較字串的一部分,從字串的開頭開始比較,第三個參數,為要比較的長度:

echo strncasecmp("abcdd", "abcde", 3); // 返回 0, 比较了 abc 和 abc, 由于不区分大小写,所以两者是相同的。

更有一種情況是單一比較字符串大小,達不到我們預定的需求,例如照常理10.gif 會比5.gif 大,但如果應用上面幾個函數,就會回傳 -1,即表示 10.gif比5.gif,針對這種情況,php提供了兩個自然對比的函數strnatcmp,strnatcasecmp:

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

推薦學習:《PHP影片教學

以上是php比對字串是否相等的方法有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn