Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 01.02.2021 13:36:41

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

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

Не в сети

#2 01.02.2021 16:00:56

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

Проще использовать два массива - старый и новый, и писать только в новый. Или данных много?

Не в сети

#3 01.02.2021 23:30:56

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

данных много. 1576 ячеек, в каждой по 10, в них от 5 до 10 и т.д.

Не в сети

#4 03.02.2021 13:57:01

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

Сложно сказать по описанию без кода, но, вероятно, подойдет способ с учетом уже обработанных индексов. То есть если массивы без ключей (цифровые ключи по порядку), то для каждого можно запоминать последний индекс, который был обработан (начинается с 0, после прохода по циклу = count($array) и т.д.), а в каждой итерации сверять итерируемый индекс с запомненным и пропускать уже обработанные.

Не в сети

Подвал раздела