Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Pętla For
Ulysess
post
Post #1





Grupa: Zarejestrowani
Postów: 695
Pomógł: 65
Dołączył: 27.07.2009
Skąd: Y

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


Witam , potrzebuję napisać pętle która przestanie się wykonywać w 3 warunkach , gdy zmienna $zycie1 lub $zycie2 osiagna wartosc mniejsza badz rowna 0 lub petla sie wykona 30 x i wtedy koniec.

prosił bym o pomoc z góry dziękuje.

  1.  
  2. for ($p = 1 ;$p<=30;$p++)
  3. {
  4.  
  5. $losowe_liczba1 = rand(100,500);
  6. $losowe_liczba2 = rand(100,500);
  7.  
  8. $zycie1 = $zycie1-$losowe_liczba1;
  9. $zycie2= $zycie2-$losowe_liczba2;
  10.  
  11. echo '<br>',$zycie1,' / ',$losowe_liczba;
  12.  
  13. }
  14.  

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Bezpieczniej byłoby zostawić te l_r < 30 jako
  1. for($l_r = 1; $l_r < 30; $l_r++)

Bo wiesz, że nigdy ta pętla się nie skończy przed l_r = 30?
Czemu? To proste, zycie1 i zycie2 nigdy nie zejdą poniżej 0 z tej przyczyny, że za każdym przejściem pętli wracają do wartości 600 i 1000 na starcie a rand losuje u nich od 100 do 500 (IMG:style_emoticons/default/winksmiley.jpg) Odjęcie więc pokaże mniejszą liczbę (wciąż grubo powyżej 0), ale kolejna pętla znów ustawi 600 i 1000.Inna sprawa, że:
  1. $zycie1 = 600;
  2. $losowa_liczba1 = rand( 100, 500 );
  3. $zycie1 = $zycie1 - $losowa_liczba1;
to dokładnie to samo co
  1. $zycie1 = rand ( 100, 500 );

i analogicznie $zycie2 to:
  1. $zycie2 = rand( 500, 900 );


Ten post edytował thek 25.10.2009, 13:58:22
Go to the top of the page
+Quote Post

Posty w temacie


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: 24.12.2025 - 05:23