检查字符串中是否包含特定单词
检查字符串是否包含特定单词是编程中的常见操作。考虑以下代码:
$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中文网其他相关文章!