Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] listing zawartości z explode
Forum PHP.pl > Forum > Przedszkole
kaszanka
Hi,

Ja już chyba zgłupiałem dosłownie...

Za pomocą explode rozdzielam zawartość zmiennej która wygląda tak: name||name1 (zawsze jedna linia)
  1. <?php
  2. $rozdzielone = explode("||", $zawartosc);
  3. ?>

i liczę ile jest wartości rozdzielonych między || :
  1. <?php
  2. $ile_rozdzielonych = count ($rozdzielone);
  3. ?>
w tym przypadku wynikiem jest 2 lecz w przypadku innych $zawartosc wynik może być inny (z góry nie znany).
i teraz chcę zrobić listing w postaci:
  1. 1 = name
  2. 2 = name1
  3. ...
  4. 9 = name9
więc pisze:
  1. <?php
  2. $lp=0;
  3. for($i=0; $i<$ile_rozdzielonych; $i++){
  4. echo "Wynik: $lp++; = $rozdzielone[$i++])";
  5. }
  6. ?>
i nic z tego worriedsmiley.gif
b_chmura
Cytat
  1. <?php
  2. $lp=0;
  3. for($i=0; $i<$ile_rozdzielonych; $i++){
  4. echo "Wynik: $lp++; = $rozdzielone[$i++])";
  5. }
  6. ?>


dwa razy zwiększasz zmienną $i, po co Ci zmienna $lp?


  1. <?php
  2. for($i=0; $i<$ile_rozdzielonych; $i++)
  3. {
  4. echo 'Wynik: '.$i.' = '.$rozdzielone[$i];
  5. }
  6. ?>


wystarczy
nowotny
Jak nie znasz z góry ilości elementów tablicy (i nie potrzebujesz ich znać) używaj pętli foreach...
  1. <?php
  2. foreach($rozdzielone as $element){
  3. echo $element;
  4. }
  5. ?>


Natomiast nie wiem co poniższy kod ma na celu... pomijając fakt że jest źle... :/
  1. <?php
  2. $lp=0;
  3. for($i=0; $i<$ile_rozdzielonych; $i++){
  4. echo "Wynik: $lp++; = $rozdzielone[$i++])";
  5. }
  6. ?>


Powinno być (chyba) tak:
  1. <?php
  2. for($i=0; $i<$ile_rozdzielonych; $i++){
  3. echo 'Wynik: '.$i.' = '.$rozdzielone[$i];
  4. }
  5. ?>
kaszanka
No i właśnie problem w tym, że pisząc jak mówicie;
  1. <?php
  2. for($i=0; $i<$ile_rozdzielonych; $i++){
  3. echo 'Wynik: '.$i.' = '.$rozdzielone[$i];
  4. }
  5. ?>
nie listuje każdego rozdzielonego name tylko zatrzymuje się na pierwszym.
nowotny
Tak to działa i nie ma bata... coś źle robisz... pokaż całość...
kaszanka
Jest ok, literówkę zrobiłem ;/ eh
Przepraszam i dziękuje 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.