![]() |
|
Модераторы: Aliance, skyboy, MoLeX, ksnk |
![]()
|
|
| Sniper |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 511 Регистрация: 8.5.2002 Репутация: нет Всего: 2 |
файл представляет из себя дерево.
что-то типа somefunc1 табsub1 табsub2 табsub3 табтабsubtext1 табтабsubtext2 somefunc2 somefunc3 обычное деревце, через таб идут ветки. как читать (в массив)? в обычных языках проблем нет, а в PHP как? -------------------- "Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный". Кен Томпсон, создатель Unix |
|||
|
||||
| skalex |
|
|||
|
Хороший человек ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 895 Регистрация: 2.4.2004 Репутация: 0 Всего: 23 |
А как вы это делали в "обычных" языках?
|
|||
|
||||
| Golda |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 26.3.2007 Где: Ариель, Израиль Репутация: 1 Всего: 42 |
Вы поставили слишком неконкретную задачу, Sniper. Какой массив? Какие к нему требования? Как с ним потребуется работать в дальнейшем?
Например, можно решить задачу так.
и получить на выходе:
Это то, что Вам было нужно? Такой результат выглядит наиболее интуитивно и лаконично, но не учитывает, например, вариант, когда у Вас могут встретить несколько child для одного parent с одинаковым текстом. Вкратце поясню, что я сделала. Результат накапливается в массиве $target. Массив $ref отслеживает ссылки на текущий активный путь в массиве $target, т.е. те элементы среди которых может оказаться "родитель" для следующего зачитываемого элемента. Если элемент уровнем ниже, он запишется "потомком" текущего и стек $ref прирастет новым элементом; если того же уровня, что послений активный, он сменит его в стеке; а если уровень выше, то из стека будет вырошены элементы, для которых уже все не может быть "дочерних" далее по разбору строки. P.S. Все-таки интересно, а что Вы делали в "обычных языках" и какой результат получали? Это сообщение отредактировал(а) Golda - 21.5.2007, 18:18 -------------------- "For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner, U.C.B. Mathematics |
||||
|
|||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Тексты | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |