Обход многомерного массива в цикле

Печать RSS
564

P
Автор
Чатланин
0
Есть многомерный массив, при его обходе пришлось использовать вложенные циклы. И вот один из внутренних циклов после отработки (обход массива и запись пройденных данных в другой массив), когда снова до него доходит очередь записывает только что прочитанные данные вместе с предыдущими. Т.о. после первой отработки цикла в массив записались 3 строки данных, после второй 6 строк, при этом первые 3 из предыдущего прохода, после третьей 9 и также уже первые 6 строк - накопительный эффект от предыдущих двух отработок, и т.д. После каждой отработки он тянет за собой данные из предыдущего обращения к циклу и записывает их в конечный массив вместе с новыми данными. Наверное многие сталкивались с этим, подскажите пжл решение проблемы.

for() { 
    for() {
        for(){ // проблемный цикл. Когда до него снова доходит очередь он 
                     записывает прочитанные данные в массив вместе со всеми 
                     предыдущими.
        }
    }
}
Изменил: php (01.02.2021 / 13:56)

Землянин
0
проблем простой надо делать foreach там просто делать надо
P
Автор
Чатланин
0
Алик Кутакбашев, foreach что-то не получается, т.к. мне нужен счетчик для обхода, чтобы чего лишнего не записать. А если внутрь for еще foreach запихнуть, то получится тоже самое.

2000 лет д.н.э.
0
Ты запись в новый массив покажи.

Господин ПЖ
0
php, скинь пожалуйста данные и что нужно получить, из описания не очень понятно , скорее всего переменные пересекаются, поэтому скинь исходные данные и как массив должен быть в итоге
P
Автор
Чатланин
0
Вантуз-мен, 1576 ячеек таких

Добавлено через 00:38 сек.
через foreach тоже дублируются данные с предыдущей итерации

Добавлено через 09:24 сек.
 foreach ($offerList = $MatchList[2]['Match']['OfferList'] as $outcomesKeys => $outcomeList) {

                            foreach ($bets = $outcomeList as $key => $value) {

                                $number = $value['@attributes']['number'];
                                $result['totals'][0][$number]['over'] = $value['Outcome'][0]['@attributes']['odds'];
                                $result['totals'][0][$number]['under'] = $value['Outcome'][1]['@attributes']['odds'];
                            }
                        }
Прикрепленные файлы:
1.txt (69.23Kb)
P
Автор
Чатланин
0
ramzes, только по существу пожалуйста. Я сидел безвылазно часа 4 и под конец уже не соображал что делал)
J

Оранжевые штаны
0
php, ты бы данные скинул в json)
P
Автор
Чатланин
0
JustZero, чем массив плох?
Кстати, foreach json понимает?
Изменил: php (02.02.2021 / 02:28)

Господин ПЖ
0
php, сделай пожалуйста json_encode массива и выложи сюда, с тем форматом, что ты добавил неудобно работать
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск