![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
Raily |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 146 Регистрация: 25.9.2006 Репутация: нет Всего: нет |
У меня такой вопрос - написала рекурсию, приводить код тут не буду - длинный он, с множеством циклов внутри рекурсии (в основном циклы for). В определённые моменты я пытаюсь выйти из рекурсии и возвратить себе значение, пишу следующее:
Пропечатка стоит для того, чтобы понять, что в данный else осуществлён вход. Так вот пропечатка выводится на экран, но при этом выход из рекурсии не осуществляется - продолжается проход по её внутренним циклам. У меня такой вопрос - я думала, что return тут же прерывает скрипт, типа exit, только ещё и возвращается нужное значение, это не так? $obj_el всегда имеет какое-то значение. Вопрос - почему не осуществляется выход из рекурсии, как работает return? |
|||
|
||||
CruorVult |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 868 Регистрация: 24.9.2008 Где: г.Киев, Украина Репутация: 9 Всего: 28 |
||||
|
||||
Evghenusi |
|
|||
![]() майский жук ![]() ![]() Профиль Группа: Участник Сообщений: 506 Регистрация: 3.8.2006 Где: Молдова, Кишинёв Репутация: 6 Всего: 15 |
у меня подозрение что автору нужен break
Добавлено через 2 минуты и 35 секунд p.s. понравилось выражение "Пропечатка", намотаю на ус ![]() |
|||
|
||||
CruorVult |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 868 Регистрация: 24.9.2008 Где: г.Киев, Украина Репутация: 9 Всего: 28 |
||||
|
||||
Raily |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 146 Регистрация: 25.9.2006 Репутация: нет Всего: нет |
Приведу код, но сильно не пугайтесь - да, он ужасен, но с рекурсиями и деревьями у меня вечные проблемы.
Смысл задачи вот в чём - мне приходит XML, содержащий в тегах элементы HTML в определённом виде, мне нужно из XML сделать объект вида: obj[0]->id=1, obj[0]->id=name1, obj[1]->id=2, obj[1]->name=name2 и т.д. Первая функция берёт XML - пока из файла, а затем идёт в функция xml_to_object, которая преобразует объект XML в нужного мне вида объект. В конце функции xml_to_object у меня наставлено много return, вот пропетачки там выводятся, а выход из функции не осуществляется - продолжается пробежка по циклу for($i=$count_level[$n];$i<$count_lev[$n];$i++){} Не знаю, можно ли по этому коду что-то подсказать, но вдруг))
Добавлено через 1 минуту и 24 секунды Могу привести пример XML из файла. Добавлено через 3 минуты и 42 секунды забыла написать, что в возвращаемом объекте для каждого элемента прописано количество Child из XML, то есть объект содержит не только id и name xml-элементов |
|||
|
||||
Raily |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 146 Регистрация: 25.9.2006 Репутация: нет Всего: нет |
У меня вопрос по поводу "текущей рекурсивной процедуры" - а как определить их количество? К примеру - рекурсия запустила саму себя 5 раз, у меня получается 5 текущих рекурсивных процедур? Нашла ошибку! Спасибо, что навели меня на мысль!!! ![]() Это сообщение отредактировал(а) Raily - 2.11.2011, 12:41 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |