如何使用PHP的stripos()函数来查找一个子字符串的位置(不区分大小写)?
发布时间:2023-10-24 09:58:11
PHP的stripos()函数用于在一个字符串中查找一个子字符串的位置,而不区分大小写。下面是如何使用stripos()函数的方法:
1. 语法:
stripos(string $haystack , mixed $needle [, int $offset = 0 ]) : int|false
- $haystack 是要搜索的字符串。
- $needle 是要查找的子字符串。
- $offset 是可选参数,表示开始搜索的位置,默认是从 个字符开始搜索。
- 返回值是子字符串在父字符串中的位置,如果找不到则返回false。
2. 使用stripos()函数查找子字符串的位置:
要查找一个子字符串的位置,可以使用以下代码:
$haystack = "Hello, world!";
$needle = "world";
$position = stripos($haystack, $needle);
if ($position !== false) {
echo "子字符串 \"$needle\" 在父字符串 \"$haystack\" 的位置是:$position";
} else {
echo "未找到子字符串 \"$needle\" 在父字符串 \"$haystack\" 中";
}
以上代码的输出结果是:子字符串 "world" 在父字符串 "Hello, world!" 的位置是:7
3. 不区分大小写的搜索:
使用stripos()函数时,默认不区分大小写。例如,下面的代码中,字符串 "WORLD" 与 "world" 的搜索结果是相同的:
$haystack = "Hello, world!";
$needle = "WORLD";
$position = stripos($haystack, $needle);
if ($position !== false) {
echo "子字符串 \"$needle\" 在父字符串 \"$haystack\" 的位置是:$position";
} else {
echo "未找到子字符串 \"$needle\" 在父字符串 \"$haystack\" 中";
}
以上代码的输出结果是:子字符串 "WORLD" 在父字符串 "Hello, world!" 的位置是:7
4. 指定开始搜索的位置:
stripos()函数的第三个参数 $offset 可以用于指定开始搜索的位置。例如,下面的代码将从第10个字符开始搜索子字符串 "world":
$haystack = "Hello, world!";
$needle = "world";
$offset = 10;
$position = stripos($haystack, $needle, $offset);
if ($position !== false) {
echo "子字符串 \"$needle\" 在父字符串 \"$haystack\" 的位置是:$position";
} else {
echo "未找到子字符串 \"$needle\" 在父字符串 \"$haystack\" 中";
}
以上代码的输出结果是:子字符串 "world" 在父字符串 "Hello, world!" 的位置是:-1(表示未找到)
通过上述方法,可以使用PHP的stripos()函数来查找一个子字符串在父字符串中的位置,并且不区分大小写。
