如何检查一个字符串是否包含特定单词?
考虑:
$a = 'How are you?';
if ($a contains 'are')
echo 'true';
假设我有上面的代码,写下语句if ($a contains 'are')
的正确方法if ($a contains 'are')
什么?
你可以使用strpos()
函数来查找一个字符串在另一个字符串中的出现:
$a = 'How are you?';
if (strpos($a, 'are') !== false) {
echo 'true';
}
请注意,使用!== false
是故意的; strpos()
返回干草堆字符串中针串开始的偏移量,或者如果未找到针,则返回布尔值false
。 由于0是一个有效的偏移量,0是“falsey”,所以我们不能使用像!strpos($a, 'are')
这样的简单结构。
您可以使用正则表达式,与其他用户提到的strpos相比,它更适合字词匹配,对于字符串也会返回true,例如票价,护理,注视等。这可以通过使用字边界在正则表达式中简单地避免。
一个简单的匹配可以看起来像这样:
$a = 'How are you?';
if (preg_match('/bareb/',$a))
echo 'true';
在性能方面,strpos快三倍,记住,当我一次做了一百万次比赛时,赛前比赛花了1.5秒完成,而且花费了0.5秒。
使用strpos功能:
if (strpos($a, 'are') !== false)
echo 'true';
链接地址: http://www.djcxy.com/p/221.html