PHP字符串学习之判断子串是不是存在(大小写不敏感)
时间:2021-08-14
来源:互联网
今天PHP爱好者给大家带来字符串的比较和查找是最常见的操作,在之前的文章《PHP字符串学习之比较两个字符串》中,我们介绍了比较字符串的方法。下面本篇文章带大家了解一下字符串查找操作,介绍一下检查子字符串是否存在的方法。希望对大家有所帮助。
在进行字符串查找操作时,有时会要求在某一字符串中查找指定的子字符串(简称子串),看看该子串是否存在于这个字符串中。
我们一般会通过使用PHP内置函数来查找这个子串在字符串的第一次或最后一次的出现位置来进行判断。而查找字符串有两种情况:一种是对大小写不敏感,即不区分大小写的查找;另外一种是对大小写敏感,即区分大小写的查找。下面我们就来看看不区分大小写要如何判断子串是不是存在。
我们来看看下面一下栗子。
<?php
header("Content-type:text/html;charset=utf-8");
$string = "ABCDCBAbcd";
$findme = "bC";
echo "子串 “'$findme'” 第一次出现的位置:".stripos($string, $findme);
echo "<br>子串 “'$findme'” 最后一次出现的位置:".strripos($string, $findme);
?>
看看上例的代码,你们觉得这个结果会是什么?第一次出现的位置为“2”,最后一次出现的位置为“8”,对不对?我们来看一下输出结果:
哎呀,居然是“1”和“7”,为什么会这样?原因是:字符串位置起始于 0,而不是 1。我们按起始位置1来算当然不对。
因此我们就可以使用以下代码来判断子串是不是存在
<?php
header("Content-type:text/html;charset=utf-8");
$string = "ABCDCBAbcd";
$findme = "bC";
if(stripos($string, $findme)!=FALSE){
echo "子串 “'$findme'” 在字符串 “'$string'” 中存在。";
}else{
echo "子串 “'$findme'” 在字符串 “'$string'” 中不存在。";
}
if(strripos($string, $findme)!=FALSE){
echo "<br>子串 “'$findme'” 在字符串 “'$string'” 中存在。";
}else{
echo "<br>子串 “'$findme'” 在字符串 “'$string'” 中不存在。";
}
?>
输出结果:
下面我们具体看看这两个函数吧。
stripos($string,$find,$start)
函数可以查找字符串在另一字符串中第一次出现的位置(不区分大小写)。
strripos($string,$find,$start)
函数可以查找字符串在另一字符串中最后一次出现的位置(不区分大小写)。
这两个函数的参数是相似的,都接受两个必需参数$string
和$find
,一个可省略参数$start
。
$string
参数:用于指定要被查找的字符串。$find
参数:用于指定要查找的子串,可以包含一个或者多字符。(如果不是字符串类型,那么它将被转换为整型并被视为字符顺序值)。$start
参数:用于指定从$string
中的哪个字符开始查找,返回的位置数字值仍然相对于$string
的起始位置。
但strripos()函数的$start
参数允许使用负值,此时将使得查找从字符串的起始位置开始,到 $start
位置为止。
<?php
header("Content-type:text/html;charset=utf-8");
$string = "ABCDCBAbcd";
$findme = "bC";
echo "子串 “'$findme'” 第一次出现的位置:".stripos($string, $findme,2);
echo "<br>子串 “'$findme'” 最后一次出现的位置:".strripos($string, $findme,-5);
?>
输出结果:
好了就说到这里了,有其他想知道的,可以点击这个哦。→ →php视频教程
以上就是PHP字符串学习之判断子串是不是存在(大小写不敏感)的详细内容,更多请关注php爱好者其它相关文章!
-
入门区块链应该学些什么 时间:2025-05-03
-
幣安 註冊 时间:2025-05-03
-
币安启用生物识别验证 时间:2025-05-03
-
如何用币安创建bsc收款地址 时间:2025-05-03
-
斗战神狸猫积分怎么高效获取-斗战神高效获取狸猫积分 时间:2025-05-03
-
赚红包 时间:2025-05-03
今日更新
-
一文讲解html中怎么使用SVG实现画走势图(分享代码)
阅读:18
-
JS数组学习之迭代数组计算元素总和、将值连接成字符串
阅读:18
-
JavaScript如何获取数字数组的中位数(两种方法)
阅读:18
-
怎么将Nodejs中的buffer转为JSON格式和UTF
阅读:18
-
解决WAMP打开phpMyAdmin却出现错误的问题
阅读:18
-
PHP使用三元运算符测试数字是否大于指定数【附实例】
阅读:18
-
教你使用PHP函数来检测变量的类型
阅读:18
-
PHP字符串学习之检测子串是不是存在(大小写敏感)
阅读:18
-
宝塔的运维版怎么开通使用
阅读:18
-
SQL server分页方法有哪些
阅读:18