📅  最后修改于: 2023-12-03 15:35:10.309000             🧑  作者: Mango
PHP的stristr函数是用于在字符串中查找子字符串的函数,它不区分大小写。本篇文章将对stristr函数的用法进行详细介绍。
stristr ( string $haystack , mixed $needle [, bool $before_needle = FALSE ] ) : string|false
在这个语法中,haystack
是要搜索的字符串,needle
是要查找的子字符串。before_needle
是一个可选参数,如果设置为TRUE
,则返回匹配子字符串之前的所有内容。如果为FALSE
或未设置,则返回匹配子字符串及其之后的所有内容。
如果needle
参数是一个数组,它将会迭代地使用该函数进行查找操作,并返回第一个匹配项。
该函数返回匹配到的子字符串以及之后的字符串,如果它在haystack
中没有找到任何匹配项,则返回FALSE
。
// 检查字符串"Hello world!"中是否存在子字符串"world"
if (stristr("Hello world!", "world")) {
echo "存在这个子字符串";
} else {
echo "不存在这个子字符串";
}
这将输出:
存在这个子字符串
您还可以使用before_needle
参数来获取子字符串之前的内容:
// 获取字符串"My name is John Doe."中"John"之前的所有内容
echo stristr("My name is John Doe.", "John", true);
这将输出:
My name is
如果您想查找多个子字符串,请使用以下代码:
$search = array("hello", "world", "foo", "bar");
$string = "Hello world!";
foreach ($search as $word) {
if (stristr($string, $word)) {
echo "找到了:{$word}\n";
}
}
这将输出:
找到了:hello
找到了:world
needle
参数可以是一个数组,但是它不支持通配符匹配。needle
参数的大小写不敏感。needle
参数是空字符串,该函数将返回完整的haystack
字符串。