![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
"пройтись" по (не)ограниченной вложенности структуре возможно двумя способами: - итеративно - рекурсивно варианты приводимы друг к другу, т.е. нет ситуации, когда одно использовать возможно, а второе - нет. другой вопрос, что при одном алгоритме короче/читаемее рекурсивный вариант, а в другом случае - итерация будет верхом изящества. смотри сам, по ситуации. Добавлено через 2 минуты и 13 секунд
дело в том, что как раз вызов из функции самой себя - это и есть рекурсия. не будет "самовызова" - это уже не рекурсия будет. и вот ещё: нет, само по себе это не тупо. |
|||
|
||||
| Feldmarschall |
|
||||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
мы говорим не об абстрактных циклах, а о конкретной задаче - получить родителей по цепочке. здесь задача, скорее, на понимание своих действий. если человек представляет себе дерево, то цикл - наиболее естественный вариант решения. что может быть проще, чем запросить в цикле у БД несколько записей? если дерево для человека - тёмный лес, и есть только шаблон "дерево=рекурсия", то да - проще рекурсией. здесь задача, скорее, на умение алгоритмизировать свои действия. что такое цикл? когда мы его применяем? когда видим несколько одинаковых действий. ведь прекрасно будет работать программа, к примеру, такая:
но программист видит повторяемость операторов, и делает на этом месте цикл. то же самое и с получением предков. |
||||
|
|||||
| gribikc |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 339 Регистрация: 9.2.2003 Репутация: нет Всего: нет |
skyboy, нет ты не понел мы в одной рекурсивной функции вызываем другую рекурсивную функцию вот о чём была речь.- итеративно-что ты под этим понимаешь??
Feldmarschall, я не щитаю множественные запросы к базе данных удачным решением(об этом даже хостер просит чтоб так не делали) -------------------- --------------------------------------------- Заранее спасибо!!! |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
Хостер твой дурак. Дело не в количестве запросов, а в качестве. Выборка по первичному ключу ВООБЩЕ никак не напрягает базу. Хоть сто записей выбирай, а не 2-3, как у тебя.
Но речь вообще не о БД. БД я привел для примера. Если у тебя все лежит в массиве, то для него задачу тоже можно решить. Для этого надо думать над структурой массива. |
|||
|
||||
| gribikc |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 339 Регистрация: 9.2.2003 Репутация: нет Всего: нет |
Feldmarschall, ну как разтаки над структурой массива я всё продумал их там из одного запроса составляется 2 для дерева и для предков соответственно
-------------------- --------------------------------------------- Заранее спасибо!!! |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |