Используя принятый ответ:
$string = 'My nAmE is Tom.';
$array = array("name","tom");
if(0 < count(array_intersect(array_map('strtolower', explode(' ', $string)), $array)))
{
//do sth
}
Еще одно замечание: оператор if можно изменить на:
if(0 < count(array_intersect(explode(' ', strtolower($string)), $array)))
, поскольку на самом деле нет необходимости использовать array_map для применения strtolower
к каждому элементу. вместо этого примените его к исходной строке.