PHP-функция in_array()
проверяет, присутствует ли в массиве значение:
Но в некоторых моментах её будет не достаточно, далее подробнее:
Если требуется проверить наличие сразу нескольких значений в массиве – функция in_array_all()
.
Пример использования:
Если требуется проверить вхождение хотя бы одного из нескольких значений, подойдет функция 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;
}