PHP字符串学习之检测子串是不是存在(大小写敏感)
时间:2021-08-14
来源:互联网
今天PHP爱好者给大家带来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 "子串 '$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视频教程
以上就是PHP字符串学习之检测子串是不是存在(大小写敏感)的详细内容,更多请关注php爱好者其它相关文章!
-
依赖注入的概念和原理 依赖注入的三种实现方式 依赖注入的生命周期 时间:2025-05-03
-
系统可用性和可靠性如何检测 系统可用性和可靠性的区别 时间:2025-05-03
-
oracle中imp命令详解(基本语法、参数、常用选项) 时间:2025-05-03
-
分词器的概念 分词器的作用和原理 分词器有哪些 时间:2025-05-03
-
什么是telnet?如何使用telnet命令? 时间:2025-05-03
-
什么是TensorFlow TensorFlow安装指南 时间:2025-05-03
今日更新
-
解决WAMP打开phpMyAdmin却出现错误的问题
阅读:18
-
PHP函数库概览
阅读:18
-
PHP字符串学习之判断子串是不是存在(大小写不敏感)
阅读:18
-
PHP数组学习之随机获取多个元素
阅读:18
-
PHP使用三元运算符测试数字是否大于指定数【附实例】
阅读:18
-
SQL server分页方法有哪些
阅读:18
-
php如何使用“自然”算法知道字符串的异同
阅读:18
-
一分钟带你使用ps在图片上添加一个月亮(分享)
阅读:18
-
php文件操作之如何一次性获得文件的全部数据
阅读:18
-
navicat导入sql文件的方法是什么
阅读:18