Это интересная задача для решения, она учит вас разделенности базы данных и приложения.
Ваш скрипт (при использовании базы данных) будет автоматически извлекать новые записи (используя запрос), поэтому нет беспокоится о поиске по всем позициям. Если вы не сохраняете результаты в переменной / кеше, но я предполагаю, что вы каждый раз используете новый запрос.
Вы можете сохранить таблицу: banned_words
с идентификатором и столбцами VARCHAR, тогда вставьте туда любые новые запрещенные слова.
Вы можете использовать здесь MySQL и использовать запрос:
SELECT * FROM words WHERE `word`='*{word}*'
Я бы прочитал ответ в комментариях, это больше укажите c на ваш вопрос, использование IN здесь было бы лучшим выбором, если у вас есть массив строк
Это может быть не точный синтаксис (давно уже работал с SQL), однако должно указать вам правильное направление. Используйте свою базу данных, где это возможно, вы можете напрямую использовать ее, чтобы найти точные данные, которые вам нужны (IE существует ли слово?).
Вы могли даже просто определить, сколько строк существует для использования аналогичного запроса, избегая необходимости извлекать данные. (если вы в основном используете условное выражение, данные в переменной вам не нужны).