Артём Мáлков

Проверяем наличие значения в многомерном массиве на PHP

17 июн0 комм

Привет, друзья! Сегодня мы с вами немного поговорим о массивах. А именно о том, как осуществить по ним корректный поиск на совпадение. В одной из статей мы подробно рассмотрели все варианты поиска совпадений в одномерных массивах.

Для того чтобы вы понимали, о чем идем речь, поясню. Одномерный массив (на примере PHP) – это:

$number = array("Один", "Два", "Три", "Четыре", "Пять", "Шесть");

А многомерный, например, двух-, – это:

$number = array(
	array("Один", "Два", "Три"),
	array("Четыре", "Пять", "Шесть")
);

Так вот, привычная функция «in_array», которая существует в PHP, не сможет обработать второй массив. Именно поэтому я поделюсь с вами готовой функцией, воспользовавшись которой, вы сможете проверить на соответствие ваши данные в многомерном массиве.

Функция эта выглядит так:

function in_multiarray($e, $a) {

	$t = sizeof($a) - 1;
	$b = 0;
	
	while($b <= $t) {
	
		if(isset($a[$b])) {
	
			if($a[$b] == $e) {
				
				return true;
			
			} else {
				
				if(is_array($a[$b])) {
					
					if(in_multiarray($e, ($a[$b]))) {
						
						return true;
					
					}
				
				}
			
			}
		
		}

		$b++;
		
	}

	return false;
	
}

Используйте ее без изменения. А это пример ее использования:

$number = array(
	array("Один", "Два", "Три"),
	array("Четыре", "Пять", "Шесть")
);

if(in_multiarray("Два", $number)) {
	
	echo "Элемент есть в массиве!";
	
}

Соответственно, при наличии совпадения будет выполняться нужное вам действие. В моем случае – это простой вывод сообщения.

Рекомендуем к просмотру
Находим наибольшее и наименьшее значение массива на PHP/JavaScript
Статьи и советы
Как проверить, содержит ли массив определенное слово, фразу или текст на PHP/jQuery/JavaScript?
Статьи и советы
Как подсчитать, сколько раз слово или фраза повторяется в массиве на PHP
Статьи и советы
0
комментариев
Форма комментирования этого поста скрыта. Авторизуйтесь, чтобы расширить привилегии гостевого посещения и получить необходимую помощь от сообщества Pandoge.
Подняться наверх
«Pandoge» - помощник вебмастера