Подскажите кто знает как собрать многомерный массив из другого?
Структура примерно такая:
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 ячейках.
livetv
Сделайте обход через foreach
use_linux
livetv #: Сделайте обход через foreach
Я так и сделал, в результате получилось то что описано выше.
use_linux
Подскажите кто знает как собрать многомерный массив из другого?
Структура примерно такая:
Всего 1576 ключей с таким массивом
Нужно выбрать нужные данные из каждого такого массива и сохранить в свой массив.
Я пробовал — не получается. Во все ячейки записывается один и тот же массив под нулевым индексом. В итоге я получил один и тот же массив в 1576 ячейках.
livetv
use_linux
Сделайте обход через 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'];
}
так делал
livetv
Замените на
use_linux
Замените на
Я для наглядности написал. Данные записываются, но все время из первого индекса и так 1576 раз. А из остальных ячеек почему-то ничего не пишется.
silicoid
но тут дело в решаемой задаче