查询最后一次出现位置的两种方法:1、使用strripos()函数查询,可以不区分大小写的计算并返回指定字符串在目标字符串中最后一次出现的位置,语法“strripos(被搜索的字符串,要查找的字符串,开始搜索的位置)”。2、使用strrpos()函数查询,可以区分大小写的计算并返回最后一次出现的位置,语法“strrpos(被搜索的字符串,要查找的字符串,开始搜索的位置)”。

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

php怎么查询字符串最后一次出现的位置?PHP内置了两个函数就可以实现这个功能:

  • strripos():查找字符串在另一字符串中最后一次出现的位置(大小写不敏感)。

  • strrpos():查找字符串在另一字符串中最后一次出现的位置(大小写敏感)。

1、使用strripos()函数不区分大小写的查询

strripos() 用来计算指定字符串在目标字符串中最后一次出现的位置(不区分大小写)。

语法如下:

int strripos ( string $haystack , string $needle [, int $offset = 0 ] )

参数说明如下:

  • haystack:在该字符串中查找。

  • needle:needle 可以是一个单字符或者多字符的字符串。如果 needle 不是一个字符串,那么它将被转换为整型并被视为字符顺序值。

  • offset:可选的 offset 参数允许你指定从 haystack 中的哪个字符开始查找,返回的位置数字值仍然相对于 haystack 的起始位置。

    负数偏移量将使得查找从字符串的起始位置开始,到 offset 位置为止。

返回 needle 存在于 haystack 字符串最后一次出现的位置(独立于偏移量)。同时注意字符串位置起始于 0,而不是 1。如果未发现 needle 就将返回 false。

实现示例:

<?php
header('content-type:text/html;charset=utf-8');  
$findme = 'c';
$findme1 = 'C';
$mystring = 'ABCabcabcABC';
$pos1 = strripos($mystring, $findme);
$pos2 = strripos($mystring, $findme1);
var_dump($mystring);
var_dump($pos1);
var_dump($pos2);
?>

1.png

2、使用strrpos()函数区分大小写的查询

strrpos() 用来计算指定字符串在目标字符串中最后一次出现的位置.

语法如下:

int strrpos ( string $haystack , string $needle [, int $offset = 0 ] )
  • strrpos()函数的参数和strripos()类似,可参考。

如果是负数的偏移量,将会导致查找在字符串结尾处开始的计数位置处结束。

实现代码:

<?php
header('content-type:text/html;charset=utf-8');  
$findme = 'c';
$findme1 = 'C';
$mystring = 'ABCabcabcABC';
$pos1 = strrpos($mystring, $findme);
$pos2 = strrpos($mystring, $findme1);
$pos3 = strrpos($mystring, $findme1,-5);

var_dump($mystring);
var_dump($pos1);

var_dump($mystring);
var_dump($pos2);

var_dump($mystring);
var_dump($pos3);
?>

2.png


php怎么查询字符串最后一次出现的位置