Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: while - jak zakonczyc warunek
Forum PHP.pl > Forum > PHP
roghatt
Witam
Moj kod ponizej:

  1. <?php
  2. $i=1;
  3. while($i <= 20){
  4.  
  5. $a = $xml -> channel->item[$i] ->title;
  6. $b = $xml -> channel->item[$i] ->description;
  7. $c = $xml -> channel->item[$i] ->link;
  8. echo $a;
  9. echo "<br />";
  10. echo $b;
  11. echo "<br />";
  12. echo "<br />";
  13.  
  14. $i++;
  15. ?>


jest to pobieranie z xmla. Wielkosc xmla za kazdym razem jest inna i czasami zmienia $i dojdzie do 20 a czasami jedynie do 10. wiec jak to napisac zeby na tym 10 sie juz zatrzymal? bo on i tak sprawdza az do 20 i same <br> wstawia.
Spawnm
anie da się wcześnie np przez count() sprawdzić wielkości tablicy ?
break; kończy pętle .
roghatt
no ale jak to zrobic?
czyli ma najpierw utworzyc tablice i pobrac do niej wartosci
$xml -> channel->item[$i]
ale jak zrobic zeby nie pobieralo juz jak $i juz nie bedzie istnialo.
wookieb
A czy próbowałes zrobić
  1. <?php
  2. count($xml -> channel->item);
  3. ?>


I takim czymś zastąpic liczbe 20. A prawidłowo to powinienc miec cos takiego
  1. <?php
  2. $ile=count($xml -> channel->item);
  3. while($i<=$ile)
  4. {
  5. ...
  6. }
  7. ?>
nospor
a nie mozesz najzwyklej w swiecie uzyc foreach?
  1. <?php
  2. foreach($xml -> channel->item as $item){
  3.  
  4. $a = $item ->title;
  5. $b = $item ->description;
  6. $c = $item ->link;
  7. echo $a;
  8. echo "<br />";
  9. echo $b;
  10. echo "<br />";
  11. echo "<br />";
  12. }
  13. ?>
roghatt
a no dzieki.. zadzialalo, a mozesz mi tylko powiedziec skad to wie ze dalej juz "item" nie ma?
wookieb
Podam ci kawałek kodu , przeszukasz sobie te funkcje w manuale i bedziesz wiedział.
Kod ten w przeszłosci zastepowal foreach
  1. <?php
  2. while(list($key, $value)=each($tablica))
  3. {
  4.  
  5. }
  6. ?>
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.