我的编程空间,编程开发者的网络收藏夹
学习永远不晚

php怎么检测子字符串是否存在

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

php怎么检测子字符串是否存在

本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑

在进行字符串查找操作时,有时会要求在某一字符串中查找指定的子字符串(简称子串),看看该子串是否存在于这个字符串中。

我们一般会通过使用PHP内置函数来查找这个子串在字符串的第一次或最后一次的出现位置来进行判断。而查找字符串有两种情况:一种是对大小写不敏感,即不区分大小写的查找;另外一种是对大小写敏感,即区分大小写的查找。

情况一:判断子串是不是存在(大小写不敏感)

大小写不敏感的检测子串是不是存在,需要使用stripos()和strripos()函数。

stripos()和strripos()函数都可以大小写不敏感的检查指定子串的出现位置,如果返回值为FALSE,则指定子串不存在。

因此我们就可以使用以下代码来判断子串是不是存在

<?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'” 中不存在。";
}
?>

输出结果:

2.png

说明:stripos()和strripos()函数

stripos($string,$find,$start)函数可以查找字符串在另一字符串中第一次出现的位置(不区分大小写)。

strripos($string,$find,$start)函数可以查找字符串在另一字符串中最后一次出现的位置(不区分大小写)。

这两个函数的参数是相似的,都接受两个必需参数$string$find,一个可省略参数$start

  • $string参数:用于指定要被查找的字符串。

  • $find参数:用于指定要查找的子串,可以包含一个或者多字符。(如果不是字符串类型,那么它将被转换为整型并被视为字符顺序值)。

  • $start参数:用于指定从$string 中的哪个字符开始查找,返回的位置数字值仍然相对于 $string 的起始位置。

情况2:检测子串是不是存在(大小写敏感)

大小写敏感的检测子串是不是存在,需要使用strpos()和strrpos()函数。

strpos()和strrpos()函数可以大小写敏感的检查指定子串的出现位置,如果返回值为FALSE,则指定子串不存在。

示例:

<?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”中的。因此输出结果为:

4.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);
?>

输出结果:

5.png

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

php怎么检测子字符串是否存在

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

php怎么检测字符串是否只有字母

php中,可用preg_match()函数配合正则表达式“/^[a-zA-Z\s]+$/”来检测字符串是否只有字母,语法“preg_match("/^[a-zA-Z\s]+$/",字符串)”;如果返回值为1则只有字母,返回0则包含其他字符。
2019-12-29

php怎么检测字符串中是否包含指定字符

两种检测方法:1、利用strpos()检测指定字符在字符串中第一次出现的位置,语法“strpos(字符串,字符,开始位置)”,如果返回代表位置的数字则表示包含,如果返回FALSE则表示不包含。2、利用strrpos()检测指定字符在字符串中最后一次出现的位置,语法“strrpos(字符串,字符,开始位置)”,如果返回代表位置的数字则表示包含,如果返回FALSE则表示不包含。本教程操作环境:windo
2022-07-04

如何在 PHP 中检查字符串是否包含一个子字符串

本文将介绍在 PHP 中使用 strpos() 和 preg_match() 函数检查一个字符串是否包含子字符串的不同方法。在 PHP 中使用 strpos() 函数检查一个字符串是否包含一个子字符串我们将使用内置函数 strpos() 来
如何在 PHP 中检查字符串是否包含一个子字符串
2024-02-27

php如何检测字符串是否只有字母

这篇文章主要介绍“php如何检测字符串是否只有字母”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“php如何检测字符串是否只有字母”文章能帮助大家解决问题。php中,可用preg_match()函数配
2023-06-30

golang怎么检测变量是否为字符串

检测变量是否为字符串的方法:1、利用“%T”格式化标识,语法“fmt.Printf("variable count=%v is of type %T \n", count, count)”;2、利用reflect.TypeOf(),语法“reflect.TypeOf(变量)”;3、利用reflect.ValueOf().Kind()检测;4、使用类型断言,可以对类型进行分组。
2023-05-14

php如何检测一个值是否是字符串

本文小编为大家详细介绍“php如何检测一个值是否是字符串”,内容详细,步骤清晰,细节处理妥当,希望这篇“php如何检测一个值是否是字符串”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。检测方法:1、使用is_str
2023-07-05

php怎么检测数组中是否包含某字符串

两种检测方法:1、使用in_array函数检测,可以查找数组中是否包含指定类型的值,语法“in_array(字符串,数组,true)”,如果返回值为TRUE则包含,反之则不包含。2、使用array_search()函数检测,可以查找数组中是否包含指定类型的值,语法“array_search(字符串,数组,true)”,如果返回对应键名则包含,如果返回FALSE则不包含。本教程操作环境:windows
2022-08-08

PHP中如何检测子串是不是存在

这期内容当中小编将会给大家带来有关PHP中如何检测子串是不是存在,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。而有时我们需要精确定位,进行严格的检测,就需要区分大小写进行查找。今天我们我们就来了解一下。我
2023-06-20

PHP如何检查字符串是否以给定的子字符串结尾

如何在PHP中检查字符串结尾?PHP中提供了多种方法来检查字符串是否以给定子字符串结尾,包括:subst​​r()函数:通过比较字符串长度和子字符串长度。endsWith()方法(PHP8+):专门用于此目的。正则表达式:匹配结尾模式。自定义函数:封装检查逻辑。选择最合适的方法取决于PHP版本、性能和代码可读性。
PHP如何检查字符串是否以给定的子字符串结尾
2024-04-02

PHP如何检查字符串是否以给定的子字符串开头

本文章介绍了在PHP中检查字符串是否以给定子字符串开头的方法:str_starts_with()函数:专用于检查字符串开头是否匹配子字符串。substr()函数:截取子字符串并检查其是否为空。strpos()函数:查找子字符串的位置,若为0则表示开头匹配。preg_match()函数:使用正则表达式检查开头匹配。选择合适的方法取决于版本和具体情况。
PHP如何检查字符串是否以给定的子字符串开头
2024-04-02

php如何检测字符串中是否包含指定字符

本篇内容介绍了“php如何检测字符串中是否包含指定字符”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!两种检测方法:1、利用strpos()检
2023-07-02

javascript如何检查字符串是否包含某个子字符串

小编给大家分享一下javascript如何检查字符串是否包含某个子字符串,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!JavaScript是什么JavaScript是一种直译式的脚本语言,其解释器被称为JavaScript
2023-06-14

Python怎么检查字符串是否以特定子字符串开头或结尾

要检查一个字符串是否以特定子字符串开头或结尾,可以使用Python中的startswith()和endswith()方法。例如,要检查字符串str是否以子字符串prefix开头,可以使用以下代码:if str.startswith(pr
Python怎么检查字符串是否以特定子字符串开头或结尾
2024-03-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录