Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> for | while
-totalny_poczatkujacy-
post
Post #1





Goście







HEj, czy ktos moze wytlumaczyc mi na chlopski rozumi czym sie rozni petla "for" od "while" ? . Nie chodzi mi tu o forme zapisu.
Go to the top of the page
+Quote Post
Vertical
post
Post #2





Grupa: Zarejestrowani
Postów: 848
Pomógł: 0
Dołączył: 7.07.2004
Skąd: Wrocław

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


Dokładnie niczym (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
cim
post
Post #3





Grupa: Zarejestrowani
Postów: 208
Pomógł: 28
Dołączył: 9.08.2004
Skąd: Stargard

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


Pętla for:
  1. <?php
  2. for($i = 1; $i <= 3; $i++){
  3.  print(&#092;"$i<br />\");
  4. }
  5. ?>


jest wykonywana z góry określoną ilość razy (tutaj 3 razy), czyli jeżeli np. chcesz wypisać 3 news`y z pliku możesz użyć pętli for w takiej postaci...

Pętla while:
  1. <?php
  2. while($haslo != 'tajne'){
  3.  print('<form>...</form>');
  4. }
  5. ?>


jest wykonywana aż do skutku czyli w tym wypadku skrypt będzie wyśwetlał formularz logowania tak długo dopóki pole 'haslo' nie będzie miało wartości 'tajne' - postawiony warunek może być spełniony za próbą logowania a może być spełniony po 1000 prób...

mam nadzieje że wystarczająco jasno napisałem...
a jeżeli nie to: for i
Go to the top of the page
+Quote Post
rogrog
post
Post #4





Grupa: Zarejestrowani
Postów: 602
Pomógł: 1
Dołączył: 3.04.2004
Skąd: Trójmiasto (Gdańsk)

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


Cytat(cim @ 2004-09-25 21:22:19)
Pętla for jest wykonywana z góry określoną ilość razy

niekoniecznie. pokazałeś najlpopularniejsze zastosowanie, ale równie dobrze można ją przerobić tak, aby działała ąz jakiśtam dowolny warunek będzie true...
Go to the top of the page
+Quote Post
enceladus
post
Post #5





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 19.11.2003
Skąd: Poznań

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


Cytat(cim @ 2004-09-25 20:22:19)
Pętla while:
  1. <?php
  2. while($haslo != 'tajne'){
  3.  print('<form>...</form>');
  4. }
  5. ?>


jest wykonywana aż do skutku czyli w tym wypadku skrypt będzie wyśwetlał formularz logowania tak długo dopóki pole 'haslo' nie będzie miało wartości 'tajne' - postawiony warunek może być spełniony za próbą logowania a może być spełniony po 1000 prób...

  1. <?php
  2. for (;$haslo!='tajne';) {
  3.  print('<form>...</form>');
  4. }
  5. ?>


zrobi dokładnie to samo (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

while zawiera w sobie tylko sprawdzenie warunku w for mamy dodatkowo inicjowanie jakiejś zmiennej oraz instrukcję wykonywany przy każdym ukończeniu pętli
Go to the top of the page
+Quote Post
bela
post
Post #6


Administrator PHPedia.pl


Grupa: Developerzy
Postów: 1 102
Pomógł: 2
Dołączył: 14.09.2003

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


while i for różnią się tylko zapisem

  1. <?php
  2.  
  3. $i = 0;
  4. while($i < 10) {
  5. $i++;
  6. }
  7. ?>


  1. <?php
  2. for($i=0; $i<10; $i++) { }
  3. ?>


Ten post edytował bela_666 26.09.2004, 12:22:59
Go to the top of the page
+Quote Post
enceladus
post
Post #7





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 19.11.2003
Skąd: Poznań

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


bela_666 proszę nie mieszaj nowicjuszom w głowach .... te pętle RÓŻNIĄ SI:
While loop - The idea of a loop is to do something over and over again until the task has been completed.
The for loop is simply a while loop with a bit more code added to it. The common tasks that are covered by a for loop are:
  • Set a counter variable to some initial value.
  • Check to see if the conditional statement is true.
  • Execute the code within the loop.
  • Increment a counter at the end of each iteration through the loop.

Nawet ta definicja nie jest do konca poprawna bo:
  1. <?php
  2. echo &#092;"nn\";
  3. $i=1;
  4. $j=1;
  5. $k=1;
  6. echo &#092;"i=\".$i.\"tj=\".$j.\"tk=\".$k.\"n\";
  7. for ($i++;$j<10;$k*=2)
  8. {
  9. echo &#092;"i=\".$i.\"tj=\".$j.\"tk=\".$k.\"n\";
  10. $j++;
  11. }
  12. ?>

Powyższy kod wykona się a zmienne występujące w polach for nie mają ze sobą nic wspólnego
Mozna powiedzieć że
Kod
for (<a>,<b>,<c>)
{
  <d>
}

rownowazne jest:
Kod
<a>
while (<b>)
{
  <d>
  <c>
}
ale nie że jest takie same.
Go to the top of the page
+Quote Post

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: 23.08.2025 - 05:25