Автор Тема: Переборка многомерного массива  (Прочитано 3409 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн madMike

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 2
  • +0/-0
  • 0
    • Просмотр профиля
    • http://3u.ru
Переборка многомерного массива
« : 22 Февраля 2006, 23:24:49 »
Добрый день, такая проблема:
Есть многомерный массив, причем число вложений неограничено. Нужно составить цикл, который бы перебрал все его элементы :)
Если хорошо подумать, может быть и сделаю сам, просто может кто уже сталкивался с подобной задачей и может просто выложить код...

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
Переборка многомерного массива
« Ответ #1 : 23 Февраля 2006, 12:08:07 »
madMike
Рекурсивный вызов функции с массивом в параметр.
Однако больше 16 уровней вряд ли тебе браузер даст перебрать.
LJ: Backslashed life (rss)

Оффлайн andymc

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 400
  • +1/-0
  • 0
    • Просмотр профиля
Переборка многомерного массива
« Ответ #2 : 03 Марта 2006, 23:42:24 »
Вот экспериментальная версия нужной функции (привет от print_r() из PHP)



Пробовал for с arr, но не вышло.
Получилось только с while и shift().

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
Переборка многомерного массива
« Ответ #3 : 04 Марта 2006, 08:25:02 »
andymc
Да, всё верно.
[off]Однако там совершенно непонятное поведение при глубокой вложенности. Mozilla предупреждает ("хотите ли продолжить выполнение", хотя и не всегда), IE либо тоже говорит ("выполнение может занять продолжительное время") либо вылетает с "out of memory at line X".[/off]
LJ: Backslashed life (rss)

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28