Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pętla foreach zagnieżdżona w for - problem z indeksami
jurcio6
post
Post #1





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 4.11.2010

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


Witam.

Mam pewien problem z indeksami. Kod:

  1. //$answers to dwuwymiarowa tablica rekordów pobranych z bazy - załóżmy, że tych rekordów ma tam 3
  2. for($i=0; $i<3; $i++)
  3. {
  4. //jakiś kod do wykonania
  5. $j = 1;
  6. foreach($answers as $row)
  7. {
  8. //jakiś kod do wykonania - $row coś tam - wiadomo, ale problem poniżej:
  9. echo $j.", ";
  10. $j++;
  11. }
  12. }


I teraz problem mam następujący: wynikiem takiej pętli jest: "1, 2, 3, 4, 5, 6, 7, 8, 9" - jakim cudem, skoro przy każdej iteracji pętli zewnętrznej for ustawiam licznik $j =1? Czy wynikiem nie powinno być "1, 2, 3, 1, 2, 3, 1, 2, 3"? Jak uzyskać taki efekt?

Proszę o pomoc! Z góry dzięki.

Ten post edytował jurcio6 14.02.2011, 11:59:29
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
donpablo
post
Post #2





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 28.02.2005

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


Cytat
teraz problem mam następujący: wynikiem takiej pętli jest: "1, 2, 3, 4, 5, 6, 7, 8, 9" - jakim cudem, skoro przy każdej iteracji pętli zewnętrznej for ustawiam licznik $j =1? Czy wynikiem nie powinno być "1, 2, 3, 1, 2, 3, 1, 2, 3"? Jak uzyskać taki efekt?


Jak się pisze bzdury to się ma problemy. Proponuje na poczatek zapoznać się z podstawami działania pętli. Poczatkowy fragment skryptu robi dokładnie to co powinien robić - bo tak napisałeś. To samo dotyczy tablic wielowymiarowych.
By uzyskac efekt 1,2,3 trzeba to napisać - chocby tak:
  1. foreach ($answers as $id => $row )
  2. {
  3. for($i=0, $j=1; $i<sizeof($row); $i++, $j++) //lub zamiast $i<sizeof($row) -> $i<3 o ile ilośc komórek równa jest 3
  4. {
  5. echo $j;
  6. }
  7. }

Go to the top of the page
+Quote Post

Posty w temacie


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: 8.10.2025 - 20:46