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
?>

现在还没有评论

留下您的大名