Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Поиск в массиве


Автор: letsgo 8.12.2010, 11:45
Есть массив:
Код

$array = array(
               2380 => array(
                                54 => array(2)
                             ),
               2330 => array(
                                21 => array(5)
                             )
                );


Одной из переменной присваивается значение, например, 54. Необходимо выяснить, есть ли в указанном выше массиве такой индекс, т.е. грубо говоря, в случае со значением 54, нам необходимо получить доступ ко вложенному массиву: $array[2380][54], при этом, значение 2380 нам так же неизвестно.

Автор: CruorVult 8.12.2010, 12:13
Код

foreach($array as $v) {
if(in_array('54',$v)) return true;
}


Добавлено через 4 минуты и 26 секунд
или 
http://www.php.net/manual/en/function.in-array.php#99294

Добавлено через 5 минут и 12 секунд
только, по-моему, вы разделом ошиблись smile 

Автор: letsgo 8.12.2010, 12:19
Сейчас я так и делаю, просто есть массивы более глубокой степени вложения, поэтому, одним foreach там не обойтись, приходится еще несколько делать...Думал, может есть более рациональное решение.

Автор: CruorVult 8.12.2010, 12:21
Цитата(letsgo @  8.12.2010,  12:19 Найти цитируемый пост)
есть массивы более глубокой степени вложения


Цитата(CruorVult @  8.12.2010,  12:13 Найти цитируемый пост)
или http://www.php.net/manual/en/function.in-array.php#99294


Автор: letsgo 8.12.2010, 12:29
CruorVult, in_array ищет элементы в массиве, а мне нужно искать индексы.

Автор: CruorVult 8.12.2010, 12:39
тогда 
http://www.php.net/manual/en/function.array-key-exists.php#92355

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)