Дополнения к функции in_array()

PHP-функция in_array() проверяет, присутствует ли в массиве значение:

$array = array("Mac", "NT", "Irix", "Linux");

if (in_array('Irix', $array)) {
	echo 'true';
}
PHP

Но в некоторых моментах её будет не достаточно, далее подробнее:

1

Если требуется проверить наличие сразу нескольких значений в массиве – функция in_array_all().

function in_array_all($needles, $haystack) {
	return empty(array_diff($needles, $haystack));
}
PHP

Пример использования:

$array = array('Mac', 'NT', 'Irix', 'Linux');

if (in_array_all(array('Mac', 'Win'), $array)) {
	echo 'true';
} else {
	echo 'false'; // Выведется false т.к. в $array нет 'Win'
}
PHP
2

Если требуется проверить вхождение хотя бы одного из нескольких значений, подойдет функция in_array_any().

function in_array_any($needles, $haystack) {
	return !empty(array_intersect($needles, $haystack));
}
PHP

Пример использования:

$array = array('Mac', 'NT', 'Irix', 'Linux');

if (in_array_any(array('Mac', 'Win'), $array)) {
	echo 'true'; // Выведется true т.к. в $array есть 'Mac'
} else {
	echo 'false';
}
PHP
3

Для поиска значения в многомерном массиве поможет функция 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;
}
PHP

Пример использования:

$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'; 
}
PHP
26.10.2022
6714

Комментарии

, чтобы добавить комментарий.

Другие публикации

Сортировка массивов
В продолжении темы работы с массивами поговорим о типичной задаче – их сортировке. Для ее выполнения в PHP существует множество функций, их подробное описание можно посмотреть на php.net, рассмотрим...
68126
+6
PHP функции для checked и selected
Две мини функции которые облегчают выделения полей select, radio и checkbox до и после отправки форм.
17372
+3
Автоматическое сжатие и оптимизация картинок на сайте
Изображения нужно сжимать для ускорения скорости загрузки сайта, но как это сделать? На многих хостингах нет...
28430
+8
Автозагрузка классов
Для удобства код классов выносят в отдельные php файлы и подключают их по мере надобности.
6034
+2
PHP транслит
PHP функции для перевода текста, ЧПУ, ссылок и имен файлов в транслит.
39977
+10
Примеры использования cURL в PHP
cURL PHP – это библиотека предназначенная для получения и передачи данных через такие протоколы, как HTTP, FTP, HTTPS....
219625
+21