Вопрос по многомерным массивам.

Tsep

Guest
Вопрос по многомерным массивам.

Есть массив вида:
PHP:
[razdel] => Array
        (
            [0] => Array
                (
                    [id] => 68
                    [razdel] => Магнитолы
                    [count_tovar] => 17
                )

            [1] => Array
                (
                    [id] => 93
                    [razdel] => Телевизоры
                    [count_tovar] => 1
                )
Можно ли зная [id] вытащить его [count_tovar] или [razdel]...?

что-то типа razdel[?]([id=93])[count_tovar]
Или только перебором всего массива?
 

Tor

Новичок
у тебя бывают повторяющиеся id?
нет?
тогда почему бы не сделать его ключом в верхнем массиве?
 

amorfis

я стараюсь
Tor прав. А иначе зачем такую структуру городить. А как вообще собирается этот массив?
 

Tsep

Guest
Массив создавался кем-то, когда-то и неизвестно чем закончится "сделать его ключом в верхнем массиве" и где это может всплыть, поэтому надо работать именно с этим массивом.

Выходит, что кроме перебора массива нет способа?
 

Vasya

Guest
Массив создавался кем-то, когда-то и неизвестно чем закончится "сделать его ключом в верхнем массиве" и где это может всплыть, поэтому надо работать именно с этим массивом.
Вывод неочевидный. Если нужно быстро и часто доставать запись из массива по ID, то можно сделать рядышком ещё один массив так, как предложил Tor, и работать с ним.

-~{}~ 19.07.05 23:41:

В конце концов, можно создать рядом индекс :)
PHP:
$razdel_index = array(68=>0,93=>1);
 
Сверху