Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Problem ze zrozumieniem działania pętli w PHP
gwiazdka_root
post
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 31.01.2013
Skąd: Warszawa

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


Witam serdecznie (IMG:style_emoticons/default/smile.gif)

Uczę się PHP i mam problem z pętlami. Wiem, że może się wam to wydac niedorzeczne, ale po prostu nie potrafię ich zrozumieć. Teorię i składnię znam, ale nie potrafię wykorzystać tego w praktyce i poegam na najprostszych zadaniach. Nie wiem w czym dokładnie tkwi problem. Może w tym, że nie rozumiem zasad ich działania, nie wiem jak zagnieżdżać jedne w drugich. Z if nie mam takiego problemu.
Prosze o jakieś rady i wskazówki. Najlepiej jakby mi ktoś to bardzo łopatologicznie wytłumaczył. Posiadam książki, przeczesywałam internet, ale wszytsko na nic, jeżeli ktoś mi tego nie wytłumaczy ludzkim językiem.
Dlatego zwracam się do was - starych wyjadaczy z prośba o pomoc.

Pozdrawiam,
Kasia
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Night123
post
Post #2





Grupa: Zarejestrowani
Postów: 27
Pomógł: 2
Dołączył: 21.01.2013

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


Oke moja kolej (IMG:style_emoticons/default/smile.gif)

for
Zmienna $i wynosi 0, a ty potrzebujesz wyniku 4

mogłaś napisać to w if, ale do działania w którym to klient (użytkownik) coś podaje i to co poda trzeba zwiększyć może pojawić się błąd, bo nie wiesz ile musisz powiększać itd i tu masz pętle for

postać:

Kod
for (wyrażenie_inicjujące; wyrażenie_warunkowe; wyrażenie iteracyjne)

  instrukcja;


INSTRUKCJA:

wyrażenie_inicjujące — wyrażenie, którego zadaniem jest zwykle ustalenie warunku początkowego (warunków początkowych) pętli;

wyrażenie_warunkowe — od jego wartości (true lub false) zależy, czy pętla będzie wykonywana dalej, czy też zostanie zakończona;

wyrażenie_iteracyjne — zwykle jest to instrukcja modyfikująca licznik pętli, czyli wpływająca na kontynuację lub zakończenie pętli (licznik pętli jest często sprawdzany w wyrażeniu_warunkowym);

instrukcja — instrukcja (prosta lub złożona) stanowiąca tzw. ciało pętli — jest to kod, który będzie powtarzany w pętli.



czyli

wyrażenie_inicjujące - to nasze $i = 0

wyrażenie_warunkowe - to to kiedy się skończy pętla czyli $i = 4 skończy się gdy $i będzie równe 4

wyrażenie_iteracyjne - co się ma dziać dopóki nie ma tego 4


przykład

  1. for ($i = 0; $i = 4; $i++) {
  2.  
  3. echo "$i";


coś takiego (IMG:style_emoticons/default/wink.gif) powinno wyjść 4

While

To też jest łatwe (IMG:style_emoticons/default/wink.gif) używasz tego wtedy kiedy nie wiesz lub nie chcesz wiedzieć ile razy ma coś się powtórzyć ma być tylko to co chcesz.

Postać
Kod
while (warunek)

  instrukcja;



pętla while wykonuje się tak długo, jak długo warunek jest spełniony.

czyli przykładzik

  1.  
  2. $i = 0;
  3.  
  4. while ($i = 4) {
  5.  
  6. echo "$i";
  7.  
  8. }


i powinno być 4 będzie $i się powiększało aż będzie równe 4 (IMG:style_emoticons/default/smile.gif)

do…while

Pętla do…while jest modyfikacją pętli while. Postać jest ta sama tylko warunek jest sprawdzany ciągle po wykonaniu ciała.


Postać:
Kod
do {

  instrukcja;

} while (warunek);



czyli

  1. $i = 0;
  2.  
  3. do {
  4.  
  5. echo "$i";
  6.  
  7. } while ($i = 4);



Będzie sprawdzało się co każde wykonanie ciała pętli czy jest już odpowiedni wynik.

Pisałem na szybko może się przyda jak nic nie rozumiesz, bo napisałem bez ładu i składu to sorki
Go to the top of the page
+Quote Post
phpion
post
Post #3





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




@Night123:
Zanim zaczniesz uczyć innych sugeruję najpierw douczyć siebie. Poczytaj czym jest drugie wyrażenie w forze bo na pewno nie tym co napisałeś. Poczytaj o różnicach między = a ==. Dodatkowo radzę zwiększać liczniki w pętlach. Poza tym Twoje przykłady zapętlą się w nieskończoność.
Go to the top of the page
+Quote Post

Posty w temacie
- gwiazdka_root   [PHP]Problem ze zrozumieniem działania pętli w PHP   31.01.2013, 08:26:03
- - CuteOne   Pętle to najzwyczajniej na świecie powtarzanie n+1...   31.01.2013, 08:44:14
- - gwiazdka_root   Dziękuję za szybką odpowiedź. Chciałabym sie dowi...   31.01.2013, 08:54:33
- - CuteOne   1. Dobrze 2. $i jest równe 0; powtarzaj do pu...   31.01.2013, 09:00:11
- - Night123   Oke moja kolej for Zmienna $i wynosi 0, a ...   31.01.2013, 09:07:14
|- - phpion   @Night123: Zanim zaczniesz uczyć innych sugeruję n...   31.01.2013, 10:14:06
- - gwiazdka_root   A mógłbyś mi wytłumaczyć dlaczego w zagniżdżeniu w...   31.01.2013, 09:27:26
- - CuteOne   to nie mnożenie pętla pierwsza wykona się 10 ra...   31.01.2013, 09:58:28
- - !*!   Uzupełnienie tego co opisali wyżej.   31.01.2013, 10:02:21
- - pyro   [PHP] pobierz, plaintext  // Zwykła pętla...   31.01.2013, 10:11:24
- - pyro   // ADD Cytat(gwiazdka_root @ 31.01.2013, 08...   31.01.2013, 10:14:39
|- - gwiazdka_root   phpion to ja już nic nie rozumiem.... piszesz do k...   31.01.2013, 10:43:18
|- - pyro   Blisko, ale wywołaj jeszcze taki kod: [PHP] pobie...   31.01.2013, 11:20:03
- - CuteOne   1. Manual twoim przyjacielem - count() 2. Zadanie ...   31.01.2013, 11:18:53
|- - gwiazdka_root   Cytat(CuteOne @ 31.01.2013, 11:18:53 ...   1.02.2013, 08:41:16
- - CuteOne   Pętle "działają" do puki jest spełniony ...   1.02.2013, 09:04:11
- - gwiazdka_root   Próbowała sobie poradzić tym zadaniem, które wcze...   1.02.2013, 10:21:54
- - !*!   [PHP] pobierz, plaintext $tablica = array( ...   1.02.2013, 10:41:07
- - gwiazdka_root   Teraz już zupełnie zgłupiałam Wyszło mi coś ta...   1.02.2013, 10:55:04
- - !*!   I dobrze Ci wyszło. Podobnie jak w przypadku Twoje...   1.02.2013, 11:13:42
- - gwiazdka_root   CytatJeśli chcesz wyświetlić zawartość tablicy, gd...   1.02.2013, 12:34:13
- - CuteOne   [PHP] pobierz, plaintext $tablica = array('tak...   1.02.2013, 12:46:18
- - gwiazdka_root   Dziękuję to mi wiele wyjaśniło. A pętle i tablice ...   1.02.2013, 12:52:55
- - !*!   http://phpkurs.pl/ - stary kurs, ale wyjaśnia troc...   1.02.2013, 15:54:24


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

 



RSS Aktualny czas: 17.10.2025 - 10:19