PHP-функция in_array() проверяет, присутствует ли в массиве значение:
$array = array("Mac", "NT", "Irix", "Linux");
if (in_array('Irix', $array)) {
echo 'true';
}
Но в некоторых моментах её будет не достаточно, далее подробнее:
Если требуется проверить наличие сразу нескольких значений в массиве – функция in_array_all().
function in_array_all($needles, $haystack) {
return empty(array_diff($needles, $haystack));
}
Пример использования:
$array = array('Mac', 'NT', 'Irix', 'Linux');
if (in_array_all(array('Mac', 'Win'), $array)) {
echo 'true';
} else {
echo 'false'; // Выведется false т.к. в $array нет 'Win'
}
Если требуется проверить вхождение хотя бы одного из нескольких значений, подойдет функция in_array_any().
function in_array_any($needles, $haystack) {
return !empty(array_intersect($needles, $haystack));
}
Пример использования:
$array = array('Mac', 'NT', 'Irix', 'Linux');
if (in_array_any(array('Mac', 'Win'), $array)) {
echo 'true'; // Выведется true т.к. в $array есть 'Mac'
} else {
echo 'false';
}
Для поиска значения в многомерном массиве поможет функция in_array_r():
function in_array_r($needle, $haystack, $strict = false) {
foreach ($haystack as $item) {
if (($strict ? $item === $needle : $item == $needle) || (is_array($item) && in_array_r($needle, $item, $strict))) {
return true;
}
}
return false;
}
Пример использования:
$array = array(
0 => array('Mac'),
1 => array('NT'),
2 => array('Irix'),
3 => array('Linux')
);
if (in_array_r('Mac', $array)) {
echo 'true'; // Выведется true
} else {
echo 'false';
}





