Генератор CSS-свойства «border-radius»   •   Online-инструменты
486 просм
0 комм
Поделиться:

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

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

Для того чтобы вы понимали, о чем идем речь, поясню. Одномерный массив (на примере 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 "Элемент есть в массиве!";
	
}

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

0
комментарий
Оставить комментарий:
Нажимая кнопку «Отправить» вы даете согласие на обработку своих персональных данных.
Имя и фамилия
E-mail
Текст комментария