Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jaką pętle wybrać
Manif
post 12.06.2010, 12:30:35
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 10.06.2010

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


Witam mam taki problem

Mam funkcje $this->getRandom która zwraca mi albo cyfre albo false.
Jaką pętle zastosować żeby w przypadku zwrócenia false jeszcze raz wykonało tę funkcje?
Go to the top of the page
+Quote Post
nospor
post 12.06.2010, 12:31:17
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




WHILE
http://pl.php.net/manual/pl/control-structures.while.php


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Manif
post 12.06.2010, 12:44:28
Post #3





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 10.06.2010

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


Wyskrobałem coś takiego. Niestety w przypadku zwrócenia false przez moją funkcje pętla się dalej nie wykonuje i nic sie nie wyswietla.

  1. $random = $pics->getRandomPic();
  2. while ($random != false):
  3. echo $random;
  4. break;
  5. endwhile;
Go to the top of the page
+Quote Post
phpion
post 12.06.2010, 12:45:44
Post #4





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




A ja akurat wybrałbym do-while. Dlaczego? Ponieważ ta pętla wykona się co najmniej 1 raz, natomiast while może w ogóle się nie wykonać. Oczywiście w tym przypadku nie ma to znaczenia bo wystarczy wcześniej zadeklarować zmienną jako false i while się wykona. Jednak bliższa temu co chcemy osiągnąć jest do-while - chcemy przecież wylosować liczbę czyli wykonać daną operację co najmniej 1 raz.
Go to the top of the page
+Quote Post
nospor
post 12.06.2010, 12:46:54
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




jejkus.... w petli ma byc funkcja. Myslisz ze zmienna $random bedzie sie sama z siebie aktualizowala? Pozatym dales zly warunek. Prostego == od != nie rozrozniasz? winksmiley.jpg
  1. while (($random = $pics->getRandomPic()) === false){
  2. echo $random;
  3.  
  4. }
  5. echo $random;


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
bastard13
post 12.06.2010, 12:47:51
Post #6





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

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


  1. $random = $pics->getRandomPic();
  2.  
  3. //wywołuje pętlę dopóki $random==false
  4. while (!$random)
  5. $random = $pics->getRandomPic();
  6.  
  7. echo $random;


--------------------
Go to the top of the page
+Quote Post
nospor
post 12.06.2010, 12:56:10
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




@bastard13 Twoj kod dla cyfry 0 wykona się jeszcze raz, choć nie powinien. Warto jednak stosowac takie operatory jak ===


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
bastard13
post 12.06.2010, 13:12:58
Post #8





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

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


Faktycznie, będę musiał uważać na przyszłośćsmile.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 Wersja Lo-Fi Aktualny czas: 6.07.2025 - 17:42