Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyświetlanie tablicy
Forum PHP.pl > Forum > Przedszkole
aceide
Mam tablicę:

  1. <?php
  2. $array = array(
  3.  
  4. &#092;"server\" => array(
  5.         &#092;"quota\" => array(\"element1\",\"element2\",\"element3\",\"element4\"),
  6.         &#092;"band\" => array(\"element5\",\"element6\",\"element7\",\"element8\")
  7.                    )
  8.         
  9. );
  10. ?>

... i chcę, aby za pomocą pętli wyświetlało mi zawartość całego $array["server"]. w postaci (na podstawie w/w przykładu):

element1,element2,element3,element4 <BR>
element5,element6,element7,element8 <BR>

Nie bardzo wiem jak to wyjaśnić.

Robiłem w ten sposób, ale nie działa:

  1. <?php
  2. while ($category = each ($array[&#092;"server\"]) )
  3. {
  4. echo $array[&#092;"server\"][$category][1].$array[\"server\"][$category][2].$array[\"server\"][$category][3].$array[\"server\"][$category][4];                
  5. }
  6. ?>


Help smile.gif
nospor
  1. <?php
  2.  
  3. foreach ($array['server'] as $ind => $tab)
  4. {
  5. foreach ($tab as $val)
  6. echo $val.',';
  7. echo &#092;"<br>\";
  8. }
  9.  
  10. ?>
se tylko popraw aby ci przcinków na koncu nie wyswietlalo
aceide
Teraz potrzebuje żeby output wyglądał mniej więcej tak:

quota: <b>element1</b> <i>element2</i> <u>element3</u> element4
band: <b>element5</b> <i>element6</i> <u>element7</u> element8
nospor
hej, nieosłabiaj mnie. Dostałeś jak na tacy wszystko ładnie. Wystarczy trochę pokombiować. Ostatni raz takie lamerskie pytanie. Next time nie będzie kodu.
  1. <?php
  2. foreach ($array['server'] as $ind => $tab)
  3. {
  4.     echo $ind.&#092;":\";
  5.     foreach ($tab as $ind2=>$val)
  6.     {
  7.         if ($ind2 > 0)
  8.             echo &#092;",\";
  9.         if ($ind2 == 0)
  10.            echo &#092;"<b>$val</b>\";
  11.          else  
  12.         if ($ind2 == 1)
  13.            echo &#092;"<i>$val</i>\";
  14.          else  
  15.         if ($ind2 == 2)
  16.            echo &#092;"<u>$val</u>\";
  17.          else  
  18.            echo $val;
  19.     }       
  20.     echo &#092;"<br>\";
  21. }
  22.  
  23. ?>
kszychu
@nospor, ja bym tam nie dawał drugiego foreach. Z tego co widzę, liczba elementów w podtablicy jest stała, więc:
  1. <?php
  2. foreach ($array['server'] as $ind => $tab)
  3. {
  4. echo &#092;"{$ind}:<b>{$tab[0]}</b> <i>{$tab[1]}</i> <u>{$tab[2]}</u> {$tab[3]}<br>\";
  5.  
  6. ?>
nospor
Co racja to racja. Nie pomyślałem o tej stałej liczbie elemetnów. Kod znacznie się upraszcza biggrin.gif

ale foreach może się komuś przydać gdy liczba elementów nie będzie stała winksmiley.jpg
aceide
To nie było lamerskie pytanie i zaraz powiem dlaczego. Wynikało to z mojej pomyłki, ponieważ zapomniałem dopisać, że jeszcze chcę, aby wyświetlało u góry tych wyników nazwę indeksu pierwszej tabeli czyli "server".

I tak:
np.

@server@
quota: <b>element1</b> <i>element2</i> <u>element3</u> element4
band: <b>element5</b> <i>element6</i> <u>element7</u> element8

To jest na pewno banalne, ale próbowałem milion kombinacji z marnym skutkiem.
nospor
i nie wieksz jak napisać server? To dopiero lamerskie pytanie:
  1. <?php
  2. echo &#092;"@server@\";
  3. ?>

a w calości:
  1. <?php
  2.  
  3. echo &#092;"@server@<br>\";
  4. foreach ($array['server'] as $ind => $tab)
  5. {
  6. echo &#092;"{$ind}:<b>{$tab[0]}</b> <i>{$tab[1]}</i> <u>{$tab[2]}</u> {$tab[3]}<br>\";
  7.  
  8. ?>
aceide
Rozwiazanie (sam doszedlem korzystajac z waszych wskazowek smile.gif) ;]

  1. <?php
  2.  
  3. foreach ($array as $ind2 => $tab2)
  4. {
  5.  
  6. echo $ind2;
  7.  
  8. foreach ($array[$ind2] as $ind => $tab)
  9. {
  10. echo &#092;"{$ind}:<b>{$tab[0]}</b> <i>{$tab[1]}</i> <u>{$tab[2]}</u> {$tab[3]}<br>\";
  11. }
  12. }
  13.  
  14. ?>


Ps. wiesz kogo nazywa sie lamerem? winksmiley.jpg Anyway, dziekuje za poswiecony czas.
nospor
@aceide sorki, nie miałem nic złego na myśli rolleyes.gif Siedzę w robocie kilkanaście godzin i trochę puszczam wodzy wyobraźni. No, nie gniewaj się już winksmiley.jpg
aceide
Nie gniewam sie :* Jeszcze raz dzieki! smile.gif
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.