基于PHP字符串的比較函數(shù)strcmp()與strcasecmp()的使用詳解
使用“===”來判斷,至于它和“==”的區(qū)別,簡單來說就是前者強(qiáng)調(diào)“identical(相同的,完全相同)”類型也要求一樣;后者要求“equal(相等)”,值相同就可以了。或者使用strcmp來判斷,但是這個(gè)能夠告訴你兩個(gè)字符串是否相等,但是無法告訴你在哪里不同。
一般能用 !=, == 比較兩個(gè)對象是否相等,之所以說是兩個(gè)對象,是因?yàn)樗麄儾灰欢ㄈ繛樽址?,也能為整型等等?STRONG>比如
$a = "joe";
$b = "jerry";
if ($a != $b)
{
echo "不相等";
}
else
{
echo "相等";
}
如果用 !== , === 比較的話,兩個(gè)對象的類型要嚴(yán)格相等才能返回true;否則用==,!=則會(huì)將字符串自動(dòng)轉(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用于比較字符串的一部分,從字符串的開頭開始比較,第三個(gè)參數(shù),為要比較的長度:
echo strncmp("abcdd", "abcde", 3); // 返回 1 (>0), 比較了 abc 和 abc
strncasecmp用于不區(qū)分大小寫的比較字符串的一部分,從字符串的開頭開始比較,第三個(gè)參數(shù),為要比較的長度:
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,針對這種情況,php提供了兩個(gè)自然對比的函數(shù)strnatcmp,strnatcasecmp:
echo strnatcmp("10.gif", "5.gif"); // 返回 1 (>0)
echo strnatcasecmp("10.gif", "5.gif"); // 返回 1 (>0)
- PHP中strcmp()和strcasecmp()函數(shù)字符串比較用法分析
- PHP字符串比較函數(shù)strcmp()和strcasecmp()使用總結(jié)
- PHP獲取訪問頁面HTTP狀態(tài)碼的實(shí)現(xiàn)代碼
- PHP之將POST數(shù)據(jù)轉(zhuǎn)化為字符串的實(shí)現(xiàn)代碼
- PHP 接入微信掃碼支付總結(jié)(總結(jié)篇)
- PHP 微信掃碼支付源代碼(推薦)
- php cookie 詳解使用實(shí)例
- PHP使用curl制作簡易百度搜索
- php 防止表單重復(fù)提交兩種實(shí)現(xiàn)方法
- PHP strcmp()和strcasecmp()的區(qū)別實(shí)例
相關(guān)文章
PHP實(shí)現(xiàn)頁面靜態(tài)化深入講解
這篇文章主要介紹了PHP實(shí)現(xiàn)頁面靜態(tài)化深入講解,本文講解的很透徹,有感興趣的同學(xué)可以研究下2021-03-03三個(gè)思路解決laravel上傳文件報(bào)錯(cuò):413 Request Entity Too Large問題
上傳圖片的時(shí)候,是用laravel自帶的上傳圖片的方法,一下氣上傳了20張,結(jié)果就無情報(bào)錯(cuò):413 Request Entity Too Large,后面查一下,這個(gè)報(bào)錯(cuò)信息是nginx報(bào)的錯(cuò)誤,不是php報(bào)的錯(cuò)誤。也就是說在上傳圖片的時(shí)候被nginx攔截了2017-11-11WordPress中is_singular()函數(shù)簡介
這篇文章主要介紹了WordPress中is_singular()函數(shù)簡介的相關(guān)資料,需要的朋友可以參考下2015-02-02Laravel框架控制器的request與response用法示例
這篇文章主要介紹了Laravel框架控制器的request與response用法,結(jié)合實(shí)例形式分析了Laravel框架控制器的request與response發(fā)送請求及響應(yīng)請求的相關(guān)操作技巧,需要的朋友可以參考下2019-09-09jquery+thinkphp實(shí)現(xiàn)跨域抓取數(shù)據(jù)的方法
這篇文章主要介紹了jquery+thinkphp實(shí)現(xiàn)跨域抓取數(shù)據(jù)的方法,結(jié)合實(shí)例形式分析了thinkPHP結(jié)合jQuery的ajax實(shí)現(xiàn)跨域抓取數(shù)據(jù)的相關(guān)操作技巧,需要的朋友可以參考下2016-10-10ThinkPHP3.1新特性之動(dòng)態(tài)設(shè)置自動(dòng)完成及自動(dòng)驗(yàn)證示例代碼
這篇文章主要介紹了ThinkPHP3.1的動(dòng)態(tài)設(shè)置自動(dòng)完成及自動(dòng)驗(yàn)證功能,需要的朋友可以參考下2014-06-06