首页 >后端开发 >php教程 >PHP中如何高效检查字符串中是否包含特定单词?

PHP中如何高效检查字符串中是否包含特定单词?

Susan Sarandon
Susan Sarandon原创
2024-12-27 21:47:10223浏览

How Can I Efficiently Check if a String Contains a Specific Word in PHP?

检查字符串中是否包含特定单词

检查字符串是否包含特定单词是编程中的常见操作。考虑以下代码:

$a = 'How are you?';

if ($a contains 'are')
    echo 'true';

if ($a contains 'are') 语句的正确编写方式是什么?

解决方案:str_contains 函数(PHP 8)

从 PHP 8 开始,str_contains 提供了一个简单的解决方案:

if (str_contains('How are you', 'are')) {
    echo 'true';
}

但是,需要注意的是,如果要搜索的子字符串 ($needle) 为空,则 str_contains 始终返回 true。为了避免这种情况,请在使用 str_contains 之前验证 $needle 是否为空。

替代方案(PHP 8 之前)

在 PHP 8 之前,strpos() 函数用于此目的:

$haystack = 'How are you?';
$needle = 'are';

if (strpos($haystack, $needle) !== false) {
    echo 'true';
}

在这种情况下,strpos() 返回位置$haystack 中 $needle 的位置,如果未找到则返回 false。但是,使用 !== false 是必要的,因为 0 是有效位置并且计算结果也为 falsey。

以上是PHP中如何高效检查字符串中是否包含特定单词?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn