Наличие значения в массиве php

используйте функцию

array_search()


сигнатура функции такова:

mixed array_search 
( mixed $needle , // искомое значение
array $haystack // массив в котором осуществляется поиск
[, bool $strict = false ] ) // если true, то также проверяется соответствие типа искомого и найденного

Примечание: Искомое значение ищется с учётом регистра.

пример:

<?php

$array = array(12, 17, 22, 79);

$key = array_search(17, $array, true); // $key = 1;
$key = array_search("17", $array); // $key = 1;
$key = array_search("17", $array, true); // FALSE;

?>

поэтому следует использовать оператор проверки эквивалентности:

$a === $b

вместо обычно == , так как FALSE при использовании == идентично нулю, который в свою очередь может оказаться индексом элемента массива, совпадающего с искомым значением.

----------
http://www.mirsite.ru/arrayf/1/24.htm