测试字符串是否包含PHP中的单词?

2022-08-30 14:42:21

在SQL中,我们有NOT LIKE %string%

我需要在PHP中执行此操作。

if ($string NOT LIKE %word%) { do something }

我认为这可以通过以下方式完成strpos()

但不知道怎么回事...

我完全需要有效的PHP中的比较句子。

if ($string NOT LIKE %word%) { do something }

答案 1
if (strpos($string, $word) === FALSE) {
   ... not found ...
}

请注意,strpos() 区分大小写,如果您想要不区分大小写的搜索,请改用 stripos()。

还要注意 ,强制进行严格的相等检验。如果“针”字符串位于“大海捞针”的开头,strpos可以返回一个有效的字符串。通过强制检查实际的布尔值 false(也称为 0),可以消除该误报。===0


答案 2

使用 strpos。如果找不到该字符串,则返回 ,否则返回 。请务必使用可能返回的类型安全比较 (),它是一个 falsy 值:falsefalse===0

if (strpos($string, $substring) === false) {
    // substring is not found in string
}

if (strpos($string, $substring2) !== false) {
    // substring2 is found in string
}

推荐