欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

PHP踩过的坑

程序员文章站 2022-04-22 08:16:49
...

strpos()函数

strpos — 查找字符串首次出现的位置

用法: int strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )

注意:
stripos()返回的是字符串在另一个字符串出现的位置,而这个位置是从0开始计算的。
查到的字符串正好在第一个位置,则返回0;

错误写法:

$a = "新年快乐";
$b = "新年";
if(strpos($a,$b)){
	echo 1;
}else{
	echo 2;
}

返回值: 2

如果没有匹配到 $needle ,strpos() 将返回布尔型的 FALSE 值;但也可能返回等同于 FALSE 的非.布尔值,例如 0 或 “”(空串)。所以用恒等于’= = =’ 或者恒不等于 '!=='来判断。

正确写法:

$a = "新年快乐";
$b = "新年";
if(strpos($a,$b) !== false){
	echo 1;
}else{
	echo 2;
}

返回值: 1

扩展

  1. 类似的函数还有:

strrpos() - 计算指定字符串在目标字符串中最后一次出现的位置
stripos() - 查找字符串首次出现的位置(不区分大小写)
strripos() - 计算指定字符串在目标字符串中最后一次出现的位置(不区分大小写)

  1. 判断一个字符串是否在另一个字符串中还有一个函数:strstr()。与strpos()有一点不同是,该函数的返回值是false或者字符串的一部分。如果单纯的判断两个字符串的包含关系,最好使用strpos,因为速度更快、耗费内存更少。
相关标签: strpos函数