Это большой массив, так что я не буду подчеркивать каждое значение.
Используйте preg_grep с флагом нечувствительности к регистру «i»:
preg_grep
i
$result = preg_grep('/pattern/i', $array);
Попробуйте, используя функцию strcasecmp :
strcasecmp
$array = array('foo', 'bar', 'baz', 'quux'); $needle = 'FOO'; $hit = false; foreach ($array as $elem) { if (is_string($elem) && strcasecmp($needle, $elem) == 0) { $hit = true; break; } } var_dump($hit);
Как я знаю, есть только путь с strtolower. Смотрите также комментарий в PHP документ: http://ch2.php.net/manual/en/function.in-array.php#88554
Edit: Как видно из комментария, существует , конечно, , более чем один способ его решения. Я, вероятно, скучаю по написанному, что я пытался сказать ;-). К сожалению.