php中对字符串的操作函数有很多,比如替换指定的字符串,计算字符串的长度等,而这篇文章就说一说在PHP中如何查找一指定的字符串,在另一串字符串中出现的位置,并区分大小写,和不区分大小写。

php查找字符串位置,php常用字符串函数,strripos(),strrpos(),strpos(),stripos()

PHP strrpos() 函数

strrpos():函数查找字符串在另一字符串中最后一次出现的位置(区分大小写)。

语法:

strrpos(string,find,start)

参数:

string:必需。规定被搜索的字符串。

find:必需。规定要查找的字符。

start:可选。规定开始搜索的位置。

例:PHP 查找字符串在另一字符串中最后出现的位置

示例1:

$str = 'http://www.feiniaomy.com';
var_dump(strrpos($str,'feiniaomy.com'));
//打印结果:int(11)

示例2:

$str = 'mochu.feiniao.feiniaomochu';
var_dump(strrpos($str,'mochu'));
//打印结果:int(21)

示例3:

$str = 'http://www.feiniaomy.com';
var_dump(strrpos($str,'FEINIAOMY.COM'));
//打印结果:bool(false)

示例4:

$str = 'http://www.feiniaomy.com';
var_dump(strrpos($str,'mochu'));
//打印结果:bool(false)

注意:strrpos() 查找时是区分大小写的,如果查找不到返回 false ,找到后要查找的字符串第一个字符的所在位置,从0开始计数,而不是从1开始

PHP strripos()函数

strripos() 函数查找字符串在另一字符串中最后一次出现的位置(不区分大小写)

语法:

strripos(string,find,start)

参数:

string:必需。规定被搜索的字符串。

find:必需。规定要查找的字符。

start:可选。规定开始搜索的位置。

例:PHP 查找字符串在另一字符串中最后出现的位置

示例1:

$str = 'feimochuniao.feiniaomochu';
var_dump(strripos($str,'mochu'));
//打印结果:int(20)

示例2:

$str = 'feimochuniao.feiniaomochu';
var_dump(strripos($str,'MOCHU'));
//打印结果:int(20)

示例3:

$str = 'feimochuniao.feiniaomochu';
var_dump(strripos($str,'LIST'));
//打印结果:bool(false)

注意:

1、示例1与示例2的比较中,虽然查找的字符串大小写不同,但打印出的结果都是相同的

2、如果 strripos() 函数查找不到字符串,则会返回 false

PHP strpos()函数

strpos():函数查找字符串在另一字符串中第一次出现的位置(区分大小写)。

语法:

strpos(string,find,start)

参数:

string:必需。规定被搜索的字符串。

find:必需。规定要查找的字符。

start:可选。规定开始搜索的位置。

例:PHP 查找字符串在另一字符串中第一次出现的位置,区分大小写

示例1:

$str = 'feimochuniao.feiniaomochu';
var_dump(strrpos($str,'mochu'));
//打印结果:int(20)

示例2:

$str = 'feimochuniao.feiniaomochu';
var_dump(strrpos($str,'Mochu'));
//打结果:bool(false)

注意:利用 strpos() 函数查找时是区分大小写的,并且如果查找不到的情况下会返回 false,查到后返回第一个字符串的位置,从0开始计算

php stripos()函数

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

语法:

stripos(string,find,start)

参数:

string:必需。规定被搜索的字符串。

find:必需。规定要查找的字符。

start:可选。规定开始搜索的位置。

例:PHP 查找字符串在另一字符串中第一次出现的位置,不区分大小写

示例1:

$str = 'feimochuniao.feiniaomochu';
var_dump(stripos($str,'Mochu'));
//打印结果:int(3)

示例2:

$str = 'feimochuniao.feiniaomochu';
var_dump(stripos($str,'mochu'));
//打印结果:int(3)

示例3:

$str = 'feimochuniao.feiniaomochu';
var_dump(stripos($str,'list'));
//打印结果:bool(false)

注意:

1、对比示例1与示例2的代码,要搜索的字符串虽然相同,但大小写不同,stripos() 函数给出同样的结果

2、如果未搜索到字符串 stripos() 函数返回 false

总结:

strripos(),strrpos(),strpos(),stripos() 四个函数虽然都可以在另一字符串中查找当前字符串出现的位置,但一定要注意以下几点区别

1、strripos(),strrpos() 查找字符串最后一次出现的位置,strripos()函数不区分大小写,strrpos()函数区分大小写

2、strpos(),stripos() 查找 字符串第一次出现的位置,strpos()区分大小写,stripos() 不区分大小写