PHP字符串学习之检测子串是不是存在(大小写敏感)

发布时间:2022-05-15 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了PHP字符串学习之检测子串是不是存在(大小写敏感)脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
在之前的文章中我们介绍了检测子串是不是存在的一种方法,感兴趣的可以点击链接查看→《PHP字符串学习之判断子串是不是存在(大小写不敏感)》。这次我们向大家介绍检测子串是不是存在的另一种方法,有需要的可以参考参考。

在上一篇文章中我们介绍了使用strIPOs()和strripos()函数通过子串第一次或最后一次的出现位置来判断子串是不是存在,但这两个函数是对大小写不敏感的,会不区分大小写进行查找。

而有时我们需要精确定位,进行严格的检测,就需要区分大小写进行查找。今天我们我们就来了解一下。

我们来看看下面一下示例

<?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 "子串 &#39;$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”中的。因此输出结果为:

1.png

下面我们来详细了解一下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);
?>

输出结果:

2.png

但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);
?>

输出结果:

3.png

好了就说到这里了,有其他想知道的,可以点击这个哦。→ →php视频教程

最后给大家推荐阅读一个经典课程《PHP字符串处理(玉女心经版)》,免费的~快来学习啊!

以上就是PHP字符串学习之检测子串是不是存在(大小写敏感)的详细内容,更多请关注脚本宝典其它相关文章!

脚本宝典总结

以上是脚本宝典为你收集整理的PHP字符串学习之检测子串是不是存在(大小写敏感)全部内容,希望文章能够帮你解决PHP字符串学习之检测子串是不是存在(大小写敏感)所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。