![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
Elfet |
|
||||||||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Поддерживается ли в PHP рекурсивные типы данных?
Вот у меня такой код есть: index.php:
boxy.php:
|
||||||||
|
|||||||||
smartov |
|
|||
![]() свой собственный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4225 Регистрация: 2.2.2006 Где: NJ Репутация: 1 Всего: 259 |
Да работают.
А почему спрашиваешь. Проверить то вон 10 строчек кода всего.. Это сообщение отредактировал(а) smartov - 5.4.2006, 13:24 |
|||
|
||||
Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Да, я уже проверил
![]() ![]() |
|||
|
||||
OlegNT |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 21.3.2006 Где: Нижний Тагил Репутация: нет Всего: нет |
Люди, а если у меня есть массив (дерево) с неизвестным числом уровней, как его можно обойти рекурсивно?
Это сообщение отредактировал(а) OlegNT - 19.4.2006, 20:14 |
|||
|
||||
Ciber SLasH |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: нет Всего: 67 |
Типа так:
1) передаёшь в рекурсивную функцию массив 2) функция пробегает по всем элементам массива и смотрит, является ли текущий элемент массивом. Если да, то передаёт этот элемент самой себе, иначе выводит его (на экран или в лог, куда надо короче) |
|||
|
||||
Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
OlegNT, рекурсивной функцией?
![]() |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 8 Всего: 261 |
Стоп. Это нерекурсивный тип данных. Ты свойству объекта присваиваешь ссылку на объект. Рекурсия это вызов функции самой себя.
А ссылочный тип данных это несколько другое. |
|||
|
||||
Elfet |
|
||||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Mal Hack, а нам на программировании в универе, расказывали про такой же тип, но на Си++ и нзывали его рекурсивным:
И можно теперь вот так рекурсивно обращаться (если есть сам список):
|
||||
|
|||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 8 Всего: 261 |
Да, есть такое дело. Но тут вот в чем фишка. Я лично всегда по этому поводу со многими людьми дискутировал. Тип данных у тебя - структура. Это сложный тип данных. Ты используешь переменую ссылочного типа данных (указателя) на память с этой же структурой. Т.е. понятие рекурсивного типа данных - абстрактно. Оно, как бы, показывает принцип.
Но, ИМХО, рекурсия это несколько другое, т.е. само понятие в данном случае некорректно. Возьмем ПХП. Есть класс, созданный по его прототипу объект, со свойством - ссылочного типа данных. Что будет рекурсивного типа данных? ![]() |
|||
|
||||
Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
А ещё намсказали, что не все языки поддерживают такую фичу
![]() |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 8 Всего: 261 |
Ве может быть...
|
|||
|
||||
Alone |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 11.5.2003 Где: Dnepropetrovsk, U A Репутация: нет Всего: 6 |
Mal Hack Поддерживаю.
Это больше похоже на рекурсивное обращение к данным, но не рекурсивный тип данных... -------------------- |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Для профи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |