您好,登录后才能下订单哦!
这期内容当中小编将会给大家带来有关PHP中如何检测子串是不是存在,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
而有时我们需要精确定位,进行严格的检测,就需要区分大小写进行查找。今天我们我们就来了解一下。
我们来看看下面一下示例
<?php header("Content-type:text/html;charset=utf-8"); $string = "ABCDCBAbcd"; $findme1 = "bC"; $findme2 = "bc"; $pos1 = strpos($string, $findme1); $pos2 = strrpos($string, $findme1); $pos3 = strpos($string, $findme2); $pos4 = strrpos($string, $findme2); if($pos1 !=FALSE){ echo "子串 '$findme1' 在字符串 '$string' 中存在。"; }else{ echo "子串 '$findme1' 在字符串 '$string' 中不存在。"; } if($pos2 !=FALSE){ echo "<br>子串 '$findme1' 在字符串 '$string' 中存在。"; }else{ echo "<br>子串 '$findme1' 在字符串 '$string' 中不存在。"; } if($pos3 !=FALSE){ echo "<br>子串 '$findme2' 在字符串 '$string' 中存在。"; }else{ echo "<br>子串 '$findme2' 在字符串 '$string' 中不存在。"; } if($pos4 !=FALSE){ echo "<br>子串 '$findme2' 在字符串 '$string' 中存在。"; }else{ echo "<br>子串 '$findme2' 在字符串 '$string' 中不存在。"; } ?>
strpos()和strrpos()函数会区分大小写的在字符串$string
中查找子串$findme1
或者$findme2
。当完全匹配上,存在子串时,会返回子串在字符串的第一次或最后一次的出现位置;如果在字符串的没有找到子串,则返回FALSE
。
从上面的例子可以看出,只有子串"bc
"和字符串“ABCDCBAbcd
”是完全匹配,子串"bc
"被认为是存在于字符串“ABCDCBAbcd
”中的。因此输出结果为:
下面我们来详细了解一下strpos()和strrpos()函数。
strpos($string,$find,$start)
函数可以返回子字符串首次出现的位置(区分大小写);
strrpos($string,$find,$start)
函数可以返回子字符串最后一次出现的位置(区分大小写);
strpos()和strrpos()函数相似,都接受两个必需参数$string
(被查找的字符串)和$find
(要查找的子串),一个可省略参数$start
(查找的开始位置)。注:字符串位置起始于 0,而不是 1。
<?php header("Content-type:text/html;charset=utf-8"); $string = "ABCabcabcABC"; $findme1 = "c"; $findme2 = "C"; echo "子串 '$findme1' 第一次出现的位置:".strpos($string, $findme1); echo "<br>子串 '$findme1' 最后一次出现的位置:".strrpos($string, $findme1); echo "<br>子串 '$findme2' 第一次出现的位置:".strpos($string, $findme2); echo "<br>子串 '$findme2' 最后一次出现的位置:".strrpos($string, $findme2); ?>
输出结果:
但strrpos()函数的参数$start
可以接受负值,当它为负数时,将会导致查找在字符串结尾处开始的计数位置处结束。
<?php header("Content-type:text/html;charset=utf-8"); $string = "ABCabcabcABC"; $findme1 = "c"; $findme2 = "C"; echo "子串 '$findme1' 第一次出现的位置:".strpos($string, $findme1); echo "<br>子串 '$findme1' 最后一次出现的位置:".strrpos($string, $findme1,-5); echo "<br>子串 '$findme2' 第一次出现的位置:".strpos($string, $findme2); echo "<br>子串 '$findme2' 最后一次出现的位置:".strrpos($string, $findme2,-5); ?>
输出结果:
上述就是小编为大家分享的PHP中如何检测子串是不是存在了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。