php 字符串比较的规则,PHP字符串比较函数strcmp()与strcasecmp()的用法介绍
使用“===”來判斷。
它和“==”的區(qū)別,前者強(qiáng)調(diào)“identical(相同的,完全相同)”類型也要求一樣;
后者要求“equal(相等)”,值相同就可以了。或者使用strcmp來判斷,但是這不能說明兩個字符串是否相等。
一般能用 !=, == 比較兩個對象是否相等,之所以說是兩個對象,是因?yàn)樗麄儾灰欢ㄈ繛樽址?#xff0c;也能為整型等等。
例如
復(fù)制代碼 代碼示例:
$a = "joe";
$b = "jerry";
if ($a != $b)
{
echo "不相等";
}
else
{
echo "相等";
}
?>
如果用 !== , === 比較的話,兩個對象的類型要嚴(yán)格相等才能返回true;否則用==,!=則會將字符串自動轉(zhuǎn)換成相應(yīng)的類型,以便進(jìn)行比較.
22 == "22"; // 返回 true
22 === "22"; // 返回falsePHP 用于字符串比較的函數(shù):strcmp(),strcasecmp(),strncasecmp(), strncmp(),如果前者比后者大,則返回大于0 的整數(shù);如果前者比后者小,則返回小于0 的整數(shù);如果兩者相等,則返回0.
1)strcmp是用于 區(qū)分大小寫 (即大小寫敏感)的字符串比較:
2)echo strcmp("abcdd", "abcde"); // 返回 1 (>0), 比較的是 "b"和"b"
3)strcasecmp用于不區(qū)分大小寫的字符串比較:
4)echo strcasecmp("abcdd", "abcde"); // 返回 -1 (<0), 比較的是"d"和"e"
strncmp用于比較字符串的一部分,從字符串的開頭開始比較,第三個參數(shù),為要比較的長度:
echo strncmp("abcdd", "abcde", 3); // 返回 1 (>0), 比較了 abc 和 abc
strncasecmp用于不區(qū)分大小寫的比較字符串的一部分,從字符串的開頭開始比較,第三個參數(shù),為要比較的長度:
echo strncasecmp("abcdd", "abcde", 3); // 返回 0, 比較了 abc 和 abc, 由于不區(qū)分大小寫,所以兩者是相同的。
還有一種情況是,單單比較字符串大小,達(dá)不到預(yù)定的需求,比如照常理 10.gif 會比 5.gif 大,但如果應(yīng)用上面幾個函數(shù),就會返回 -1,即表示 10.gif比5.gif。
php提供了兩個自然對比的函數(shù)strnatcmp,strnatcasecmp,看例子:
復(fù)制代碼 代碼示例:
echo strnatcmp("10.gif", "5.gif"); // 返回 1 (>0)
echo strnatcasecmp("10.gif", "5.gif"); // 返回 1 (>0)
?>
總結(jié)
以上是生活随笔為你收集整理的php 字符串比较的规则,PHP字符串比较函数strcmp()与strcasecmp()的用法介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中美两国央行的资产构成对比,美国60%以
- 下一篇: php工程导致系统蓝屏,经常蓝屏是什么原