使用strpos()搜索指针值数组


Searching for array of needle values with strpos()

我正在尝试使用strpos来使用PHP搜索字符串中的一些关键字。我的问题是如何添加数组,以便在下面的代码中搜索"关键字1"answers"关键字2"。

if (strpos($string,'keyword1') !== false) {
$hasstring = "yes";
}

感谢

您不能给strpos一个数组,因此必须手动执行。

$keywords = array('keyword1', 'keyword2');
foreach($keywords as $keyword) {
    if (strpos($string, $keyword) !== false) {
        $hasString = true;
        break; // stops searching the rest of the keywords if one was found
    }
}

如果我正确理解你的问题,就不需要数组。您可以简单地将strpos与或(在php中,||)运算符一起使用两次

if (strpos($string,'keyword1') || strpos($string,'keyword2')) {
$hasstring = "yes";
}