Как собрать массив из другого массива?

UL
На сайте с 04.08.2013
Offline
62
108

Подскажите кто знает как собрать многомерный массив из другого?

Структура примерно такая:

Array ( [key] => Array ( [key1] => Array ( [0] => Array ( [@attributes] => Array ( [id] => value [name] => value ) [key2] => Array ( [key3] => Array ( [@attributes] => Array ( [id] => value [name] => value ) [key4] => Array ( [key5] => Array ( [@attributes] => Array ( [id] => value [name] => value ) [key6] => Array ( [key7] => Array ( [@attributes] => Array ( [type_id] => value [type_name] => value [name] => value ) [key8] => Array ( [0] => Array ( [@attributes] => Array ( [name] => value [name2] => value ) ) [1] => Array ( [@attributes] => Array ( [name] => value [name2] => value ) ) [2] => Array ( [@attributes] => Array ( [name] => value [name2] => value ) ) [3] => Array ( [@attributes] => Array ( [name] => value [name2] => value ) ) [4] => Array ( [@attributes] => Array ( [name] => value [name2] => value ) ) ) ) ) ) ) ) ) )

 

Всего 1576 ключей с таким массивом

Нужно выбрать нужные данные из каждого такого массива и сохранить в свой массив.

Я пробовал - не получается. Во все ячейки записывается один и тот же массив под нулевым индексом. В итоге я получил один и тот же массив в 1576 ячейках.

L
На сайте с 10.02.2015
Offline
132
#1
Сделайте обход через foreach
UL
На сайте с 04.08.2013
Offline
62
#2
livetv #:
Сделайте обход через foreach

Я так и сделал, в результате получилось то что описано выше.

Алгоритм не подскажите?

Что-то я не так делаю


foreach ($arr as $k => $v) {
  
        $result[]['item1'] = $v['key']['key1']['key2']['key3']['@attributes']['name'];
        $result[]['team2'] = $v['key']['key1']['key2']['key3']['@attributes']['name'];
        $result[]['item2'] = $v['key']['key1']['key2']['key3']['key4']['key5']['key6']['key7']['@attributes']['name'];
        $result[]['item3'] = $v['key']['key1']['key2']['key3']['key4']['key5']['key6']['key7']['key8']['@attributes']['name2'];
      
    }

так делал

L
На сайте с 10.02.2015
Offline
132
#3

['key1']['key2']

Замените на

['key1'][0]['key2']
UL
На сайте с 04.08.2013
Offline
62
#4
livetv #:

Замените на

Я для наглядности написал. Данные записываются, но все время из первого индекса и так 1576 раз. А из остальных ячеек почему-то ничего не пишется.

S
На сайте с 13.10.2014
Offline
154
#5
мне кааца должна подойти функция  array_walk_recursive
но тут дело в решаемой задаче

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий