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 2023年4月18日
    00
  • PHP简单装饰器模式实现与用法示例

    下面我将为你详细讲解“PHP简单装饰器模式实现与用法示例”的完整攻略。 PHP简单装饰器模式实现与用法示例 一、什么是装饰器模式 装饰器模式(Decorator Pattern)是一种设计模式,它允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它允许通过添加函数封装来动态改变对象的行为。 二、装饰器模式的实现 在 PH…

    PHP 2023年5月27日
    00
  • PHP文件操作实现代码分享

    下面是关于”PHP 文件操作实现代码分享”的完整攻略。 1. 文件操作概述 在 PHP 中,通过文件操作函数可以实现对文件的创建、打开、读写和关闭等操作。使用这些函数可以轻松实现文件的管理,可以用于创建用户日志、数据备份、文件上传、图片裁剪等。 2. 文件操作的常用函数 以下为 PHP 中文件操作的常用函数: fopen() – 打开文件或 URL fwri…

    PHP 2023年5月23日
    00
  • 微信小程序网络请求的封装与填坑之路

    微信小程序网络请求的封装与填坑之路 为什么要封装网络请求 微信小程序的网络请求和常见的前端框架(如React,Vue等)的网络请求并不一样,其API的使用方式和参数需要开发者进行适配,使得开发效率和代码可维护性降低。同时,我们在进行小程序开发的过程中,会经常需要进行网络请求,如果每次都需要写重复代码,则会降低开发效率,也容易出现冗余问题。因此,封装网络请求显…

    PHP 2023年5月30日
    00
  • php 表单数据的获取代码

    获取表单数据是在 PHP 中非常常见的任务。在提交表单之后,你需要从表单提交的数据中获取并使用这些数据。使用 PHP,以下是获取表单数据的完整攻略: 第一步:为提交表单设置 action 属性 在你的表单标签中设置 action 属性,并将其设置为提交表单时要处理数据的 PHP 文件的名称。例如: <form action="submit.p…

    PHP 2023年5月23日
    00
  • PHP中多维数组的foreach遍历示例

    下面是详细的攻略: 什么是多维数组 多维数组是指数组中包含有其他数组的数组,即数组的元素又是一个数组。 例如:$arr = array( array(‘name’=>’张三’, ‘age’=>20), array(‘name’=>’李四’, ‘age’=>22), array(‘name’=>’王五’, ‘age’=>25…

    PHP 2023年5月27日
    00
  • PHP去掉从word直接粘贴过来的没有用格式的函数

    要去掉从Word直接粘贴过来的没有用格式的内容,可以采用以下步骤: 使用strip_tags()函数去除HTML和PHP标记,只保留纯文本。 示例1: // 原文本内容 $text = ‘<p>这是一段从Word直接粘贴过来的内容。</p><p>没有任何格式</p>’; // 去除HTML和PHP标记,只保留文…

    PHP 2023年5月23日
    00
  • PHP实现多进程并行操作的详解(可做守护进程)

    我可以给你详细讲解如何使用PHP实现多进程并行操作并作为守护进程运行的方法。 什么是多进程并行操作 多进程并行操作是指程序可以同时运行多个进程,每个进程可以独立地执行不同的任务。这个功能在某些场景下非常有用,特别是在需要执行耗时任务或需要处理大量数据时。对于PHP程序员来说,使用多进程并行操作可以提高程序的性能。 如何实现多进程并行操作 在PHP中,实现多进…

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