Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jaką pętle wybrać
Forum PHP.pl > Forum > Przedszkole
Manif
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?
Manif
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;
phpion
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.
nospor
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;
bastard13
  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;
nospor
@bastard13 Twoj kod dla cyfry 0 wykona się jeszcze raz, choć nie powinien. Warto jednak stosowac takie operatory jak ===
bastard13
Faktycznie, będę musiał uważać na przyszłośćsmile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.