Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] pętla FOR coś łatwego
shpaque
post
Post #1





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


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)

Ten post edytował shpaque 13.02.2015, 21:38:26
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
Boshi
post
Post #2





Grupa: Zarejestrowani
Postów: 342
Pomógł: 15
Dołączył: 30.08.2011

Ostrzeżenie: (0%)
-----


A czym jest $last?
Go to the top of the page
+Quote Post
shpaque
post
Post #3





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


  1. $items = file($database);
  2. $last = count($items);
Go to the top of the page
+Quote Post
com
post
Post #4





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

Ostrzeżenie: (0%)
-----


nie rozumiem masz tak przecież?
Go to the top of the page
+Quote Post
shpaque
post
Post #5





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


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
Go to the top of the page
+Quote Post
com
post
Post #6





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

Ostrzeżenie: (0%)
-----


to rzuć kodem zapewne chodzi Ci o http://php.net/manual/en/function.array-reverse.php
Go to the top of the page
+Quote Post
shpaque
post
Post #7





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


  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ć?
Go to the top of the page
+Quote Post
com
post
Post #8





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

Ostrzeżenie: (0%)
-----


dalej nwm o co Ci chodzi teraz masz jakiś krzak ale w pierwszym poście było ok
http://ideone.com/1ngMJE
Go to the top of the page
+Quote Post
shpaque
post
Post #9





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


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. }
Go to the top of the page
+Quote Post
com
post
Post #10





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

Ostrzeżenie: (0%)
-----


a no tak biggrin.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 21:48