strpos
(PHP 4, PHP 5)
strpos — 查找字符串首次出现的位置
说明
int strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )
返回 needle 在 haystack 中首次出现的数字位置。与 strrpos() 不同,在 PHP 5 之前,该函数可以使用一个完整字符串作为 needle,并且整个字符串都将被使用。
参数 haystack
在该字符串中进行查找。
needle
如果 needle 不是一个字符串,那么它将被转换为整型并被视为字符的顺序值。
offset
可选的 offset 参数可以用来指定从 haystack 中的哪一个字符开始查找。返回的数字位置是相对于 haystack 的起始位置而言的。
返回值
以整型返回位置信息。如果没找到 needle,strpos() 将返回布尔型的 FALSE 值。
Warning
此函数可能返回布尔值 FALSE,但也可能返回等同于 FALSE 的非布尔值,例如 0 或 ""(空串)。请阅读 布尔类型章节以获取更多信息。应使用 === 运算符 来测试此函数的返回值。
范例
Example #1 使用 ===
<?php$mystring=\'abc\';$findme=\'a\';$pos=strpos($mystring,$findme);
//注意这里使用的是===。简单的==不能像我们期待的那样工作,//因为\'a\'是第0位置上的(第一个)字符。if($pos===false){echo\"Thestring\'$findme\'wasnotfoundinthestring\'$mystring\'\";}else{echo\"Thestring\'$findme\'wasfoundinthestring\'$mystring\'\";echo\"andexistsatposition$pos\";}?>
Example #2 使用 !==
<?php$mystring=\'abc\';$findme=\'a\';$pos=strpos($mystring,$findme);
//使用!==操作符。使用!=不能像我们期待的那样工作,//因为\'a\'的位置是0。语句(0!=false)的结果是false。if($pos!==false){echo\"Thestring\'$findme\'wasfoundinthestring\'$mystring\'\";echo\"andexistsatposition$pos\";}else{echo\"Thestring\'$findme\'wasnotfoundinthestring\'$mystring\'\";}?>
Example #3 使用位置偏移量
<?php//忽视位置偏移量之前的字符进行查找$newstring=\'abcdefabcdef\';$pos=strpos($newstring,\'a\',1);//$pos=7,不是0?>
注释
Note: 此函数可安全用于二进制对象。
参见strrpos() – 计算指定字符串在目标字符串中最后一次出现的位置stripos() – 查找字符串首次出现的位置(不区分大小写)strripos() – 计算指定字符串在目标字符串中最后一次出现的位置(不区分大小写)strrchr() – 查找指定字符在字符串中的最后一次出现substr() – 返回字符串的子串stristr() – strstr 函数的忽略大小写版本strstr() – 查找字符串的首次出现
—-想了解更多的php相关异常处理怎么解决关注