PHP中strpos、strstr和stripos、stristr函数分析

PHP中strpos、strstr和stripos、stristr函数分析

什么是strpos函数和strstr函数?

  • strpos 函数:查找字符串首次出现的位置。
  • strstr 函数:查找字符串在另外一个字符串中的第一次出现。

这两个函数区别在于:

  • strpos 返回的是目标字符串在原字符串中的起始位置;
  • strstr 返回的则是目标字符串之后,原字符串剩余部分,包括目标字符串本身。

strpos函数的语法

int strpos( string $haystack, mixed $needle, int $offset = 0 )

参数说明:

  • haystack: 要被查找的主字符串;
  • needle: 必需,规定需要在主字符串中查找的字符串/字符;
  • offset: 可选,规定在主字符串中搜索的起始位置。默认是 0。

方案一:查找一个子字符串在原字符串中首次出现的位置

$string = 'Hello World';
$needle = 'World';
$position = strpos($string, $needle);
if ($position === false) {
    echo '没有找到相关内容。';
} else {
    echo '子字符串在原字符串第 ' . ($position + 1) . ' 个位置。';
}

以上示例中,定义了一个字符串 $string 和一个子字符串 $needlestrpos 函数会在 $string 中查找 $needle,如果找到则返回 $needle$string 中的位置,否则返回 false。

方案二:查找一个字符串在另一个字符串中第一次出现

$mainString = 'The quick brown fox jumps over the lazy dog ';
$subString = 'brown';

$remainingString = strstr($mainString, $subString);

if ($remainingString) {
    echo $subString.'在'.$mainString.'中的第一个位置之后的字符串为 '.$remainingString;
} else {
    echo '未找到相关内容。';
}

以上示例中,定义了一个主字符串 $mainString 和一个子字符串 $subStringstrstr 函数会在 $mainString 中查找 $subString,如果找到,则返回 $subString$mainString 中第一次出现的位置,以及 $mainString$subString 之后余下的字符串。如果没有找到,则返回 false。

什么是stripos函数和stristr函数?

  • stripos 函数:查找字符串中第一次出现的位置(不区分大小写)。
  • stristr 函数:查找字符串在另外一个字符串中的第一次出现(不区分大小写)。

这两个函数与 strposstrstr 差不多,但是它们不区分大小写。

stripos函数和stristr函数的语法

int stripos(string $haystack, mixed $needle, int $offset = 0)

string stristr(string $haystack, mixed $needle, bool $before_needle = false)

参数说明:

  • haystack: 要被查找的主字符串;
  • needle: 必需,规定需要在主字符串中查找的字符串/字符;
  • offset: 可选,规定在主字符串中搜索的起始位置。默认是 0。
  • before_needle: 可选,如果设置为 TRUE,则 stristr() 函数返回 needle 之前的部分,否则返回 needle 之后的部分。默认是 FALSE。

方案一:查找一个子字符串在原字符串中首次出现的位置(不区分大小写)

$string = 'Hello World';
$needle = 'world';
$position = stripos($string, $needle);
if ($position === false) {
    echo '没有找到相关内容。';
} else {
    echo '子字符串在原字符串第 ' . ($position + 1) . ' 个位置。';
}

以上示例中,同样定义了一个字符串 $string 和一个子字符串 $needlestripos 函数区分大小写,会在 $string 中查找 $needle,因为 $needle 的大小写和在 $string 中出现的大小写不一样,所以这里我们使用了 stripos 函数来查找字符串。函数会返回 $needle$string 中的位置,否则返回 false。

方案二:查找一个字符串在另一个字符串中第一次出现(不区分大小写)

$mainString = 'The quick brown fox jumps over the lazy dog ';
$subString = 'BRown';

$remainingString = stristr($mainString, $subString);

if ($remainingString) {
    echo $subString.'在'.$mainString.'中的字符串为 '.$remainingString;
} else {
    echo '未找到相关内容。';
}

以上示例中,同样定义了一个主字符串 $mainString 和一个子字符串 $subStringstristr 函数会忽略大小写在 $mainString 中查找 $subString,如果找到,则返回 $subString$mainString 中第一次出现的位置,以及 $mainString$subString 之后余下的字符串。如果没有找到,则返回 false。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PHP中strpos、strstr和stripos、stristr函数分析 - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • PHP输入流php://input介绍

    PHP输入流php://input是一种通过HTTP POST方法从客户端发送一条小量数据到服务端的输入流。使用该输入流对于处理大量数据的情况来说非常适合。 在PHP中,使用php://input可以访问到HTTP POST请求的原始数据。它是以流的形式呈现的,此时的流并没有经过解析,可以通过调用“file_get_contents()”函数来获取该流的内容…

    PHP 2023年5月26日
    00
  • php 判断字符串中是否包含html标签

    要判断一个字符串中是否包含 HTML 标签,有多种方法可以实现。 方法一:使用正则表达式 使用正则表达式可以很方便地判断字符串中是否包含 HTML 标签。这里介绍两种常见的正则表达式方法: 方法一-1:使用preg_match() if (preg_match(‘/<[^>]+>/’, $str)) { echo "字符串中包含 …

    PHP 2023年5月26日
    00
  • 基于静态Singleton模式的使用介绍

    我来为你讲解“基于静态 Singleton 模式的使用介绍”的完整攻略。 什么是 Singleton 模式 Singleton 模式是一种创建型模式,其指的是一个类仅有一个实例,并且提供访问该实例的全局访问点。Singleton 模式通常用来控制服务线程池、计数器或者共享打印机等需要在整个程序中只有一个实例的情况。 静态 Singleton 模式 静态 Si…

    PHP 2023年5月27日
    00
  • 在命令行下运行PHP脚本[带参数]的方法

    在命令行下运行PHP脚本可以使用PHP解释器。PHP解释器在默认情况下不会自动识别命令行参数,需要使用$argc和$argv来通过命令行传递参数。 下面是详细的步骤说明: 步骤1:安装PHP解释器 首先需要安装PHP解释器,如果你已经安装了PHP解释器,则可以跳过此步。 在Linux系统下,可以使用以下命令安装PHP解释器: sudo apt update …

    PHP 2023年5月26日
    00
  • 小编亲身实操,教你配置phpstorm与xdebug的调试配置,不成功你骂我

    开发php,还是找个专业的Ide较好,vscode毕竟在php上不专业,需要下载各种插件才行,还不支持多线程调试,因此小编下载了phpstorm,打算以后用phpstorm来开发php项目,断点调试代码是必不可少的,还是用xdebug吧,可小编在网上搜索了无数篇文章,照着做了一天,竟然没调试成功。最后功夫不负有心人,终于调试成功,想着成千上万的phper肯定…

    PHP 2023年4月17日
    00
  • PHP统计二维数组元素个数的方法

    下面是详细讲解“PHP统计二维数组元素个数的方法”的完整攻略。 前言 在实际开发中,我们时常需要统计二维数组元素的个数,比如统计每个分类下的文章数、用户发布的文章数等。本篇攻略将分享四种方法来实现对二维数组元素个数的统计。 方法一:循环遍历法 循环遍历法是最基础的方法,它通过循环数组来进行统计。 <?php // 定义二维数组 $arr = array…

    PHP 2023年5月26日
    00
  • PHP简单计算两个时间差的方法示例

    下面我详细讲解一下“PHP简单计算两个时间差的方法示例”的完整攻略。 1. 问题描述 在开发过程中,我们经常会计算两个时间点之间的时间差,比如计算一个操作经过的时间、计算一个任务执行的时间等。 在PHP中,计算两个时间点之间的时间差是比较简单的,但是需要注意一些细节问题,本文将详细讲解如何在PHP中计算时间差。 2. 方案分析 PHP可以使用time()函数…

    PHP 2023年5月26日
    00
  • PHP常见过waf webshell以及最简单的检测方法

    下面给您讲解一下关于“PHP常见过waf webshell以及最简单的检测方法”的攻略。 1. PHP常见过waf的webshell WAF(Web Application Firewall)是Web应用程序防火墙的缩写,主要用于防范针对Web应用程序的攻击。在Web安全中,webshell可以用于执行特定的操作,如搭建网站后门、窃取网站敏感信息、传播恶意代…

    PHP 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部