首頁  >  文章  >  php字串函數(二):比較運算

php字串函數(二):比較運算

无忌哥哥
无忌哥哥原創
2018-06-28 10:39:203185瀏覽

 * 1.strcmp($str1, $str2):二進位安全字串比較

 * 2.strncmp($str1, $str2, $length):比較開頭指定長度的是否相待

 * 3.strcasecmp($str1, $str2):二進位安全字串比較,不區分大小寫

 * 4.strncasecmp($str1, $str2):二進位安全字串比較,不區分大小寫

 * 5.strspn($str,$mark,$start,$length):取得符合遮罩的起始子字串的長度

 * 6. strcspn($str,$mark,$start,$length):取得不符合遮罩的起始子字串的長度

$str1 = 'php中文网';
$str2 = 'PHP中文网';

//1.strcmp($str1, $str2):字串比較,相等回傳0,大於回傳>0,否則回傳e34bd71a2bafae508c7a7ee3eb84146a0,否則回傳<0

echo strcasecmp($str1, $str2) == 0 ? &#39;相等&#39; : &#39;不相等&#39;, &#39;<br>&#39;;

//4 .strncasecmp($str1, $str2):不區分大小寫比較開頭指定長度是否相等

echo strncasecmp($str1, $str2,3) == 0 ? &#39;相等&#39; : &#39;不相等&#39;, &#39;<br>&#39;;

//5.strspn($str, $mark, $start, $length):

//計算字串中全部字元都存在於指定字元集合中的​​第一段子字串的長度

//$str1:要比較的字串, $mark:類似於集合,返回匹配的數量

echo strspn(&#39;15705519989&#39;, &#39;1234567890&#39;),&#39;<br>&#39;;  //返回11

//可以指定開始比較的位置與長度

echo strspn(&#39;15705519989&#39;, &#39;1234567890&#39;, 4, 4),&#39;<br>&#39;;//返回4

//只比較$str中的第一個子字串,後面的全部忽略掉,返回11

echo strspn(&#39;15705519989 18955123344 111abc&#39;, &#39;1234567890&#39;),&#39;<br>&#39;;

//回傳3,因為第一個字串中只有前三個是屬於數字集合中的資料

echo strspn(&#39;157php 18955123344 111abc&#39;, &#39;1234567890&#39;),&#39;<br>&#39;;

//例如手機號碼必須是純數字字串,要求用戶必須輸入的是純數字的字串

$phone = &#39;13899886767&#39;;

// $phone = '1389988php6767';

$mark = &#39;0123456789&#39;;

//分析,如果正確匹配,那麼strspn()必回傳11,因為手機號是11,與strlen($phone)剛好相等

echo strlen($phone)==strspn($phone, $mark) ? &#39;全数字&#39; : &#39;必须全为数字&#39;;

//等價於: strspn(substr($subject, $start, $length), $mask)

// 6.strcspn()與strspn()功能正好相反,大家可自行舉例驗證

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