如果字符串包含一个集合中的任何字符串,则使用strpos返回true

时间:2014-08-27 19:15:50

标签: php arrays string strpos

我可以使用的唯一功能是strpos,比如说我有一组字符串: cat dog elephant

我想知道关键字是否包含上述任何字符串。

for at => True (contains inside cat) for og => True (contains inside dog) for asdasd => False (contains inside elephant)

我试过了:

strpos("keyword",("cat" || "dog" || "elephant"))

但没有运气。

希望有人可以提供帮助

1 个答案:

答案 0 :(得分:1)

您的关键字和字符串是否有任何限制?如果他们永远不会包含某个角色,请说出'〜',那么你可以简单地使用它:

if (strpos(<your keyword>,implode('~',<array of strings>)) !== FALSE)
{
  <do something>
}

当您无法控制关键字和字符串中的字符时,无法使用此功能。在那可以你可以单独检查数组中的每个字符串:

foreach (<array of strings> as $string)
{
  if (strpos(<your keyword>,$string) !== FALSE)
  {
     <do something>
  }
}

数组显然是存储字符串的方法。