From: Lex Braun [mailto:lex.braun@xxxxxxxxx] Sent: sábado, 31 de Outubro de 2009 14:05 To: MEM Cc: php-general@xxxxxxxxxxxxx Subject: Re: RE: Help with my first recursion menu Hi, On Wed, Oct 28, 2009 at 5:22 PM, MEM <talofo@xxxxxxxxx> wrote: I've been told that stack is the way to go, so I'm trying to understand the following code: http://pastebin.com/m5616c88f I've commented every line so that any of you could see if I'm interpreting something wrong: I have two questions about this code, that hopefully someone on the list could explain: 1) Why do we need to remove the last array item? (on line 32): array_pop($urlStack); On line 20, $url creates an URL path that includes the $cat path. Once you've completed iteration on all children of $cat, the url path should no longer include $cat path, thus it is removed from $urlStack. 2) Why we print the closed tag of the li element, after the recursive call? (on line 29) echo "</li>\n"; Line 29 is closing the li element that was opened on line 23 for $cat. Thanks a lot in advance, Márcio -Lex Thanks a lot. I knew that: “Line 29 is closing the li element that was opened on line 23 for $cat.” My question intend to be more like: Why that line to close the li element is *after* the recursive call? Somehow, it seems that instead of creating something like this: <ul> <li>item1</li> <li>item2</li> <li>item3</li> </ul> We are doing: <ul> <li>item1 <li>item2 <li>item3 </li> </ul> Anyway, the main doubt was the first. I will test this and see what I get. Thanks a lot for your reply. Regards, Márcio