Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] pętla FOR coś łatwego
Forum PHP.pl > Forum > Przedszkole
shpaque
Znów pętla for... Nigdy nie wiem jak ją konstruować...

mam tak:
  1. ($i = $last - 1; $i >= 0; $i--)

i liczy mi od początku do końca rosnąco (czyli $i = 0, to pierwszy wiersz, $i = 1 drugi i tak dalej, a chce odwrotnie, żeby $i = 0 był ostatnim wierszem, $i = 1 przedostatnim i tak do początku pliku)
Boshi
A czym jest $last?
shpaque
  1. $items = file($database);
  2. $last = count($items);
com
nie rozumiem masz tak przecież?
shpaque
no właśnie nie - $i przyjmuje mi wartości takie jak wiersze, a nie odwrotnie...

mam tak w pliku

  1. 0 - kurka
  2. 1 - twoja
  3. 2 - mać


i wg tego FOR'a tak samo mi wyświetla, a chcę:

  1. 0 - mać
  2. 1 - twoja
  3. 2 - kurka
com
to rzuć kodem zapewne chodzi Ci o http://php.net/manual/en/function.array-reverse.php
shpaque
  1. <?
  2. $ips = array();
  3. $dates = array();
  4. $titles = array();
  5. $descriptions = array();
  6. $database = './db/news.db';
  7. $items = file($database);
  8. $last = count($items);
  9.  
  10. for ($i >= 0; $i = $last - 1; $i--)
  11. {
  12. list($ip, $date, $title, $description) = explode('|', $items[$i]);
  13. $dates[$i] = $date;
  14. $titles[$i] = $title;
  15. }
  16. ?>
  17. <div><a class="div_news_title" href="./news.php?article=<? echo $titles[0]; ?>"><? echo $titles[0]; ?></a></div>
  18. <div class="div_news_date"><? echo $dates[0]; ?></div>
  19. <br><br><div class="line"></div><br>
  20. <div><a class="div_news_title" href="./news.php?article=<? echo $titles[1]; ?>"><? echo $titles[1]; ?></a></div>
  21. <div class="div_news_date"><? echo $dates[1]; ?></div>
  22. <br><br><div class="line"></div><br>
  23. <div><a class="div_news_title" href="./news.php?article=<? echo $titles[2]; ?>"><? echo $titles[2]; ?></a></div>
  24. <div class="div_news_date"><? echo $dates[2]; ?></div>


chodzi mi tylko o to zeby czytal linie od konca - nie od poczatku i tyle a do tego az trzeba array_reverse? w pętli nie da się tego ustawić?
com
dalej nwm o co Ci chodzi teraz masz jakiś krzak ale w pierwszym poście było ok
http://ideone.com/1ngMJE
shpaque
już mam krzaka, pierwszy wpis był ok, ale po for tablica miała przypisane $i a teraz z kodem poniżej działą ok

było:
  1. for ($i = $last - 1; $i >= 0; $i--)
  2. {
  3. list($ip, $date, $title, $description) = explode('|', $items[$i]);
  4. $dates[$i] = $date;
  5. $titles[$i] = $title;
  6. }


a jest (i teraz działa):

  1. for ($i = $last - 1; $i >= 0; $i--)
  2. {
  3. list($ip, $date, $title, $description) = explode('|', $items[$i]);
  4. $dates[] = $date;
  5. $titles[] = $title;
  6. }
com
a no tak biggrin.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.