PHP字符串检索
strpos()函数
int strpos(string $haystack, mixed $needle [, int $offset])
该函数的主要目的是检索并返回$needle在$haystack中首次出现的位置,如果提供了 $offset参数,则从$haystack字符串中的$offset位置开始检索。(字符串的首字符的位置为0)
<?php
echo strpos('hello world', 'h'); // return 0
echo strpos('hello world', ' '); // return 5
?>
该函数容易产生错误的地方: 如果一个字符串恰好出现在另一个字符串的首处,这时会返回0,
这样的情形如果发生在if判断的时候,PHP会把0强制转换成false,这样就无法得到想要的结果。
正确的方式应该是使用if (false !== strpos(str, char)) {}来判断。
与该函数相关的有stripos(),strrpos(),stripos()
stripos()函数正向查找,不区分大小写。
<?php
echo stripos('hello world', 'W'); // return 6
?>
strrpos()函数反向查找出现的第一个字符或字符串。
<?php
echo strrpos('hello world', 'l'); // return 9
?>
strripos()函数反向查找出现的第一个字符或字符串,不区分大小写。
<?php
echo strripos('hello world', 'L'); // return 9
?>
现在还没有评论