No es necesario crear un bucle para verificar la cadena y regresar las coincidencias. Basta con explotar la cadena en palabras usando el
explode() y usar la función
array_intersect() para extraer las palabras de la cadena que coincidan con las que hay en el array:
Código PHP:
$palabras = array('perra','gata');
$cadena = 'la perra corre a una gata';
$cadena_palabras = array_map("trim", explode(" ", $cadena));
if($coincidencias = array_intersect($palabras, $cadena_palabras)) {
echo "Usó algunas palabras inapropiadas";
}
Las coincidencias se almacenan en $coincidencias, y puedes usar la estructura foreach para recorrerlo e imprimir sus valores. Para usar esta estructura te recomiendo leas el
manual de PHP para la estructura foreach.
Un saludo,