Как вы описали в своем вопросе, но с использованием функций array_*
:
echo count(array_intersect(explode(' ', $keywords_db), $low_relevancy_keys));
(обратите внимание, что вы можете заменить explode
на preg_split
, если вам нужно быть более гибким)
или с использованием preg_match_all
(который возвращает количество совпадений) :
$pattern = '~\b' . implode('\b|\b', $low_relevancy_keys) . '\b~';
echo preg_match_all($pattern, $keywords_db);
демо