1,使用 strpos() 函数
strpos() 函数返回子字符串在字符串中首次出现的位置。如果未找到子字符串,则返回 false。注意,由于 0 是一个有效的位置(字符串的第一个字符位置是 0),你需要使用全等运算符 === 来检查返回值是否为 false。
$string = "Hello, world!";
$search = "world";
if (strpos($string, $search) !== false) {
echo "字符串中包含子字符串。";
} else {
echo "字符串中不包含子字符串。";
}
2,使用 str_contains() 函数(PHP 8 及以上版本)
str_contains() 函数是一个更直观的替代方法,它直接返回一个布尔值,表示字符串中是否包含子字符串。
$string = "Hello, world!";
$search = "world";
if (str_contains($string, $search)) {
echo "字符串中包含子字符串。";
} else {
echo "字符串中不包含子字符串。";
}
3,使用 preg_match() 函数
虽然 preg_match() 通常用于正则表达式匹配,但你也可以用它来简单地检查字符串中是否包含某个子字符串。不过,对于简单的包含检查,这种方法通常比 strpos() 或 str_contains() 更慢且更复杂。
$string = "Hello, world!";
$pattern = "/world/";
if (preg_match($pattern, $string)) {
echo "字符串中包含子字符串。";
} else {
echo "字符串中不包含子字符串。";
}
我的个人PHP项目:
PHP全文检索 WindSearch: https://github.com/rock365/windsearch
WindSearch在线开发文档:https://rock365.github.io/ 偶尔无法访问,多刷新几次就行