答案:PHP中判断字符串是否包含子串可用strpos()(区分大小写)、stripos()(不区分大小写)或str_contains()(PHP 8.0+推荐),需用!== false准确判断结果。

在PHP中判断一个字符串是否包含某个字符或子字符串,有多种方法可以实现。最常用的方式是使用内置函数进行查找和匹配。
使用 strpos() 函数
strpos() 函数用于查找一个字符串在另一个字符串中首次出现的位置。如果找到,返回位置索引(从0开始);如果未找到,返回 false。
这个函数区分大小写,适合精确匹配。
$haystack = "Hello, world!";$needle = "world";if (strpos($haystack, $needle) !== false) { echo "包含该字符";} else { echo "不包含该字符";}登录后复制注意:必须使用 !== false 来判断,因为如果字符出现在开头(位置0),直接用 if 判断会出错。
立即学习“PHP免费学习笔记(深入)”;
TTS Free Online免费文本转语音 免费的文字生成语音网站,包含各种方言(东北话、陕西话、粤语、闽南语)
37 查看详情
使用 stripos() 函数(不区分大小写)
如果希望忽略大小写,可以使用 stripos(),它功能与 strpos 相同,但不区分大小写。
$haystack = "Hello, World!";$needle = "WORLD";if (stripos($haystack, $needle) !== false) { echo "包含(忽略大小写)";}登录后复制使用 strstr() 或 str_contains()(推荐新项目)
strstr() 用于查找字符串是否存在,并返回剩余部分。只要不是 false 就说明包含。
if (strstr($haystack, $needle)) { echo "包含";}登录后复制PHP 8.0+ 推荐使用 str_contains(),语法更直观:
if (str_contains($haystack, $needle)) { echo "包含";}登录后复制基本上就这些方法,根据 PHP 版本和是否需要区分大小写选择合适的方式即可。以上就是php包含字符的详细内容,更多请关注php中文网其它相关文章!



