日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

php字符串比较函数

發布時間:2023/11/27 生活经验 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php字符串比较函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
比較兩個字符串是否相等,最常見的方法就是使用“===”來判斷,至于它和“==”的區別,簡單來說就是前者強調“identical”類型也要求一樣;后者要求“equal”,值相同就可以了,參考【1】?;蛘呤褂胹trcmp來判斷,但是這個能夠告訴你兩個字符串是否相等,但是無法告訴你在那里不同。我的思路是單字符串分割為一個個字母(character),這樣比較就能精確知道在那個位置不同了。分隔字符串,使用“str_split”就可以了,語法參考【2】。然后輸出結果數組,好處是連空格也會作為數組的元素。我之前的例子就是因為前一個字符串包含2個空格,而后一個只有一個。但是輸出的時候看到的顯示都是一樣的。也可以按照其他分隔符進行分割,如“explode”或者“preg_split”,

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

$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(),他們都是如果前者比后者大,則返回大于0的整數;如果前者比后者小,則返回小于0的整數;如果兩者相等,則返回0.他們比較的原理和其他語言的規則都是相同的。

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字符串比较函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。