TABLE `people` +----+------------+-------+ | sn | name | upper | +----+------------+-------+ | 1 | Clement | 0 | | 2 | Jean | 1 | | 3 | Annie | 1 | | 4 | Yuan | 2 | | 5 | Mei | 2 | | 6 | Blue | 3 | | 7 | Yang | 5 | | 8 | Lorinda | 0 | +----+------------+-------+
The structure is like:
Clement Jean Yuan Mei Yang Annie Blue Lorinda
The column upper
states the upper person of himself/herself.
The problem is: How can I get a nested/multi-dimensional array from MySQL? I thought I could use loops to fetch, but I failed to automated fetch all the lowers. The array could be like this:
Array ( [1]=>Array ( [self]=>Clement [2]=>Array ( [self]=>Jean [4]=>Array ( [self]=>Yuan ) [5]=>Array ( [self]=>Mei [7]=>Array ( [self]=>Yang ) ) ) [3]=>Array ( [self]=>Annie [6]=>Array ( [self]=>Blue ) ) ) [8]=>Array ( [self]=>Lorinda ) )
Since we don't know how many 'upper' persons does one have, the solution should be an automated function that build a complete array, not just for three or four dimension. In other word, the function should deep into all the lower person from a top person.