Chciałbym napisać funkcję, która wyświetlałaby dowolną tablicę wielowymiarową [która też może składać się z tablic]. Na razie użyłem do tego rekurencji tylko mam problem z indeksacją. Wszystko jest okej, elementy się wyświetlają natomiast chciałbym aby wyświetlały się też indeksy elementów tak żeby była "pełna" ścieżka od bazowej tablicy bo używając klucza z foreach dostaję tylko ostatni indeks elementu. Próbowałem już wiele kombinacji z przekazywaniem i doklejaniem indeksów wywołując rekurencyjnie funkcje ale to też nie skutkowało bo od pewnego momentu dokleja "za dużo" a nie wiem jak mam wykrywać aby to obcinał. Macie może jakieś rozwiązanie na to ? Podaję poniższy kod bez rozwiązania problemu z indeksami:
public function write($recTab,$index=""){ foreach($recTab as $key => $node){ }
Przykładowa tablica to:
$tab[0][0] = "a dir"; $tab[0][1][0] = "z did"; $tab[0][1][1] = "b dir"; $tab[0][1][2] = "x dir"; $tab[1][0] = "c dir"; $tab[1][1] = "d dir"; $tab[2][0] = "g dir"; $tab[2][1] = "h dir"; $tab[2][2][0] = "e dir"; $tab[2][2][1] = "f dir"; $tObject->write($tab);
I efekt wywołania funkcji:
00 a dir
010 z did
011 b dir
012 x dir
010 c dir
011 d dir
0120 g dir
0121 h dir
01220 e dir
01221 f dir
jak widać zgadzają się tylko początkowe ponieważ później trzeba już obciąć.
Proszę o pomoc.