Ok, a word of warning: the binary tree method will be slightly harder to maintain, but will be a hell of a lot easier to code and probably easier to understand.
A Binary Tree is a list of items (in this case an array of objects) has two parts to it, information and pointers. For this we will use a single pointer, which will point to the <i>parent</i>. So you would define your navigational elements as having:
Id
ParentId
information - which is anything you might want.
In fact the Id could very well be the index of the object in the array.
So if we start off with the first level, which will all have the ParentId=-1, and then add levels as you go:
Array index | What is it | ParentId
-------------|--------------|-----------
0 | Node 1 | -1
1 | Node 2 | -1
2 | Node 3 | -1
3 | Node 1.1 | 0
4 | Node 1.2 | 0
5 | Node 3.1 | 2
6 | Node 1.2.1 | 4
- Array index | What is it | ParentId
- -------------|--------------|-----------
- 0 | Node 1 | -1
- 1 | Node 2 | -1
- 2 | Node 3 | -1
- 3 | Node 1.1 | 0
- 4 | Node 1.2 | 0
- 5 | Node 3.1 | 2
- 6 | Node 1.2.1 | 4
The example above will come out like:
Node 1
Node 1.1
Node 1.2
Node 1.2.1
Node 2
Node 3
Node 3.1
- Node 1
- Node 1.1
- Node 1.2
- Node 1.2.1
- Node 2
- Node 3
- Node 3.1
As you can see the method is handy because you only need the one array, it is a really easy structure to build and work with because you can just add new nodes onto the bottom, have as many elements as you like, and as many levels as you like.
You can also move a node (by changing it's parent) and all of it's descendents will move acordingly. Just like a normal directory tree.
Whats the problem? You have to use filtering (ie array_filter() ) , and recursion to build the navigational elements.
check out <a href="http://www.ozzu.com/programming-forum/asp-recursion-issue-t26453.html&highlight=asp+recursion" target="_blank">this thread</a> where Rabid Dog was doing the same thing with ASP and a database, instead of an array of objects. If you decide to go this way and need a hand, just ask

CSS website design tutorials