|
Posted by Kailash Nadh on 09/28/86 12:01
On Jan 28, 1:16 am, Jerry Stuckle <jstuck...@attglobal.net> wrote:
> KailashNadhwrote:
> > Hello all.
> > I have this tab formatted hierarchical structure.
> > --------------------
> > 0 A
> > 1 B
> > 2 C
> > 2 D
> > 1 E
> > --------------------
>
> > Every line has a string intended to its depth with tabs. (The numbers
> > in the above example are the number of tabs intending that line and
> > are not present in the actual data)
>
> > I need to parse the above structure into a tree (multi-dimensional
> > array), for eg:
> > Array
> > (
> > [A] => Array
> > (
> > [B] => Array
> > (
> > [C] =>
> > [D] =>
> > )
> > [E] =>
> > )
> > )
>
> > I have this loop that parses each line and has the following for every
> > line,
> > $depth = (number of tabs) and $key = (A, B etc..)
>
> > So the string in each line is the KEY of the array / tree. Needn't
> > worry about the value.
>
> > This is pretty simple, but I just can't get my head around it. Could
> > anyone throw some light on this issue?
>
> > Thank you.
>
> > --
> >KailashNadh|http://kailashnadh.name
>
> Personally, I'd use a recursive function. Parameters to the function
> are reference to a variable and depth (first is an empty array and 0).
>
> Read a new item. If it is on same level, just add it to the current
> array. If it's one level lower, add an array as the new element and
> recurse with the new array as the parameter.
>
> --
> ==================
> Remove the "x" from my email address
> Jerry Stuckle
> JDS Computer Training Corp.
> jstuck...@attglobal.net
> ==================
I already thought of using a recursive function, but what would happen
if there's a case like this ?
0|
1| A
2| B
3| C
4| D
4| E
5| F
6| G
6| H
2| I
2| H
3| K
After level 6, $depth suddenly jumps back to 2 and goes to 3 and so
on.
Thank you.
--
Kailash Nadh | http://kailashnadh.name
Navigation:
[Reply to this message]
|