Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Tablice] Jak je przeglądać bez eval? (Dwu wymiarowe)
Forum PHP.pl > Forum > PHP
Babcia@Stefa
Witam, jak można przeglądać tablice typu:

  1. <?php
  2. ?>


Bez użycia funkcji eval" title="Zobacz w manualu PHP" target="_manual()?

Pozdrawiam, WebNuLL
mike
A jak Ty je z tym eval() przeglądasz? Aż strach pomyśleć co wymyśliłeś.
  1. <?php
  2.  
  3. $array = array(
  4.    array('1', '2', '3', '4'),
  5.    array('5', '6', '7', '8'),
  6. );
  7.  
  8. foreach ($array as $item) {
  9.    foreach ($item as $var) {
  10.        echo $var;
  11.    }
  12. }
  13.  
  14. ?>
Babcia@Stefa
Cytat(mike @ 4.04.2009, 18:35:49 ) *
A jak Ty je z tym eval() przeglądasz? Aż strach pomyśleć co wymyśliłeś.
  1. <?php
  2.  
  3. $array = array(
  4.    array('1', '2', '3', '4'),
  5.    array('5', '6', '7', '8'),
  6. );
  7.  
  8. foreach ($array as $item) {
  9.    foreach ($item as $var) {
  10.        echo $var;
  11.    }
  12. }
  13.  
  14. ?>


Heh.. no fakt, strach pomyśleć tongue.gif

  1. <?php
  2. ...
  3. $this ->Location = '['jeden']['dwa']['trzy']';
  4. eval('$Array' .$this->Location);
  5. ?>


Dzięki za odpowiedź, Twój pomysł podsunął mi rekurencję! smile.gif

Zaraz coś po kombinuję z tym pomysłem smile.gif

Pozdrawiam, WebNuLL
mike
A wiesz, że możesz tak:
  1. <?php
  2.  
  3. echo $array['jeden']['dwa']['trzy'];
  4.  
  5. ?>
Babcia@Stefa
Cytat(mike @ 4.04.2009, 18:45:08 ) *
A wiesz, że możesz tak:
  1. <?php
  2.  
  3. echo $array['jeden']['dwa']['trzy'];
  4.  
  5. ?>


No ja mogę tak, ale obiekt klasy sam nie zrobi za mnie tego - od tego jest eval" title="Zobacz w manualu PHP" target="_manual();

Pozdrawiam, WebNuLL
mike
Cytat(Babcia@Stefa @ 4.04.2009, 20:45:42 ) *
No ja mogę tak, ale obiekt klasy sam nie zrobi za mnie tego (...)
A powiedz mi dokładnie co chcesz osiągnąć?
Babcia@Stefa
Chcę "przelecieć" całą tablicę razem z jej pod tablicami i spisać do jednej tablicy wszystkie wartości wszystkich elementów tablic i subtablic smile.gif

Co do eval" title="Zobacz w manualu PHP" target="_manual() to używałem go aby tworzyć tablice typu:
$tablica['1']['2']['3]['4'] i później aby się do nich dostać.
Klasa wykożystująca ten sposób przypominała rejestr systemowy np. SYSTEM/Applications/Firefox/Path smile.gif
Z początku klasa powodowała przeróżne awarie (eval" title="Zobacz w manualu PHP" target="_manual() ...), ale teraz śmiga biggrin.gif

Pozdrawiam, WebNuLL
pejott
Wiesz co to rekurencja? Poczytaj to będziesz wiedział jak przelecieć całą tablicę.
kamil4u
@pejott Czytaj ze zrozumieniem:
Cytat
Wiesz co to rekurencja?
, a wcześniej
Cytat
Dzięki za odpowiedź, Twój pomysł podsunął mi rekurencję! smile.gif
megawebmaster
Oczywiście trzeba pamiętać, że rekurencja nie jest najlepszym rozwiązaniem - duże obciążenie serwera, a w dodatku ograniczenie chyba do 64 razy wywołania samej siebie... Wolałbym z poziomu jednej funkcji wywoływać drugą, np. w obiekcie. I za każdym razem rozkładać dane coraz bardziej. Chociaż to też jest słabo wydajne...
ts23
może array_walk_recursive ?
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.