Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wyciąganie danych z tablic o nieokreślonej głębokości
Forum PHP.pl > Forum > Przedszkole
sweter
Witam,
poszukuję jakiegoś sposobu na odniesienie się do wszystkich elementów tablicy wielowymiarowej, np.:
  1. $tab[0] = 1;
  2. $tab[1][0] = 2;
  3. $tab[1][1] = 3;
  4. $tab[2] = 4;

Dodam, że takich tablicy w tablicy może być nieskończenie wiele, więc robienie pętli w pętli raczej odpada smile.gif

Pozdrawiam
wiiir
hmm no to rekurencja smile.gif
Kamil Pietrzak
mozna zrobic petle w petli w petli:P

musisz w jakiejs zmiennej okreslic aktualny poziom - glebokosc
i oczywiscie dynamicznie tworzyc zmienne - beda potrzebne funkcje do operacji na ciagach, ale obejdzie sie bez tych ciezkich
flashdev
Cytat(DiamondPir @ 20.10.2010, 20:43:39 ) *


Rozwiązanie rekurencyjne jest banalnie proste.

  1. <?php
  2.  
  3. $data = array(array(1, 2, 3, array(a, b, c), array(x, y, z), array(7, 8, 9), 10, 11, 12), i, j ,k);
  4.  
  5. var_dump($data);
  6. var_dump(listItems($data));
  7.  
  8. function listItems($data){
  9. if( is_array($data) ){
  10. $list = array();
  11. for( $i = 0; $i < count($data); $i++ ){
  12. $list = array_merge($list, listItems($data[$i]));
  13. }
  14. return $list;
  15. }
  16. return array($data);
  17. }
  18.  
  19. fgets(STDIN);

To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.