基于PHP字符串的比較函數(shù)strcmp()與strcasecmp()的使用詳解
使用“===”來(lái)判斷,至于它和“==”的區(qū)別,簡(jiǎn)單來(lái)說(shuō)就是前者強(qiáng)調(diào)“identical(相同的,完全相同)”類(lèi)型也要求一樣;后者要求“equal(相等)”,值相同就可以了?;蛘呤褂胹trcmp來(lái)判斷,但是這個(gè)能夠告訴你兩個(gè)字符串是否相等,但是無(wú)法告訴你在哪里不同。
一般能用 !=, == 比較兩個(gè)對(duì)象是否相等,之所以說(shuō)是兩個(gè)對(duì)象,是因?yàn)樗麄儾灰欢ㄈ繛樽址?,也能為整型等等?STRONG>比如
$a = "joe";
$b = "jerry";
if ($a != $b)
{
echo "不相等";
}
else
{
echo "相等";
}
如果用 !== , === 比較的話(huà),兩個(gè)對(duì)象的類(lèi)型要嚴(yán)格相等才能返回true;否則用==,!=則會(huì)將字符串自動(dòng)轉(zhuǎn)換成相應(yīng)的類(lèi)型,以便進(jìn)行比較.
22 == "22"; // 返回 true
22 === "22"; // 返回falsePHP 用于字符串比較的函數(shù):strcmp(),strcasecmp(),strncasecmp(), strncmp(),他們都是 如果前者比后者大,則返回大于0 的整數(shù);如果前者比后者小,則返回小于0 的整數(shù);如果兩者相等,則返回0.
1)strcmp是用于 區(qū)分大小寫(xiě) (即大小寫(xiě)敏感)的字符串比較:
2)echo strcmp("abcdd", "abcde"); // 返回 1 (>0), 比較的是 "b"和"b"
3)strcasecmp用于不區(qū)分大小寫(xiě)的字符串比較:
4)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ū)分大小寫(xiě)的比較字符串的一部分,從字符串的開(kāi)頭開(kāi)始比較,第三個(gè)參數(shù),為要比較的長(zhǎng)度:
echo strncasecmp("abcdd", "abcde", 3); // 返回 0, 比較了 abc 和 abc, 由于不區(qū)分大小寫(xiě),所以?xún)烧呤窍嗤摹?BR>更有一種情況是單單比較字符串大小,達(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)
- PHP中strcmp()和strcasecmp()函數(shù)字符串比較用法分析
- PHP字符串比較函數(shù)strcmp()和strcasecmp()使用總結(jié)
- PHP獲取訪(fǎng)問(wèn)頁(yè)面HTTP狀態(tài)碼的實(shí)現(xiàn)代碼
- PHP之將POST數(shù)據(jù)轉(zhuǎn)化為字符串的實(shí)現(xiàn)代碼
- PHP 接入微信掃碼支付總結(jié)(總結(jié)篇)
- PHP 微信掃碼支付源代碼(推薦)
- php cookie 詳解使用實(shí)例
- PHP使用curl制作簡(jiǎn)易百度搜索
- php 防止表單重復(fù)提交兩種實(shí)現(xiàn)方法
- PHP strcmp()和strcasecmp()的區(qū)別實(shí)例
相關(guān)文章
laravel通過(guò)創(chuàng)建自定義artisan make命令來(lái)新建類(lèi)文件詳解
Laravel通過(guò)Artisan提供了強(qiáng)大的控制臺(tái)命令來(lái)處理非瀏覽器業(yè)務(wù)邏輯。下面這篇文章主要給大家介紹了關(guān)于laravel如何通過(guò)創(chuàng)建自定義artisan make命令來(lái)新建類(lèi)文件的相關(guān)資料,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-08-08
詳解PHP實(shí)現(xiàn)支付寶小程序用戶(hù)授權(quán)的工具類(lèi)
這篇文章主要介紹了詳解PHP實(shí)現(xiàn)支付寶小程序用戶(hù)授權(quán)的工具類(lèi),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-12-12
php字符編碼轉(zhuǎn)換之gb2312轉(zhuǎn)為utf8
PHP輸出頁(yè)面時(shí)經(jīng)常有亂碼,怎么辦呢?今天我就提供一個(gè)方法,可以自動(dòng)判斷php字符編碼,把gbk或gb2312編碼的字符串轉(zhuǎn)為utf8 。2013-10-10
ThinkPHP使用getlist方法實(shí)現(xiàn)數(shù)據(jù)搜索功能示例
這篇文章主要介紹了ThinkPHP使用getlist方法實(shí)現(xiàn)數(shù)據(jù)搜索功能,結(jié)合實(shí)例形式較為詳細(xì)的分析了thinkPHP基于getlist實(shí)現(xiàn)根據(jù)給定條件進(jìn)行數(shù)據(jù)的讀取、顯示等相關(guān)操作技巧,需要的朋友可以參考下2017-05-05
php+mysql+ajax 局部刷新點(diǎn)贊/取消點(diǎn)贊功能(每個(gè)賬號(hào)只點(diǎn)贊一次)
這篇文章主要介紹了php+mysql+ajax 局部刷新點(diǎn)贊/取消點(diǎn)贊功能(每個(gè)賬號(hào)只點(diǎn)贊一次),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07
thinkPHP自動(dòng)驗(yàn)證機(jī)制詳解
這篇文章主要介紹了thinkPHP自動(dòng)驗(yàn)證機(jī)制,結(jié)合實(shí)例形式分析了thinkPHP自動(dòng)驗(yàn)證機(jī)制的格式、原理與具體操作技巧,需要的朋友可以參考下2016-12-12

