Manif
12.06.2010, 12:30:35
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
12.06.2010, 12:44:28
Wyskrobałem coś takiego. Niestety w przypadku zwrócenia false przez moją funkcje pętla się dalej nie wykonuje i nic sie nie wyswietla.
$random = $pics->getRandomPic();
while ($random != false):
break;
endwhile;
phpion
12.06.2010, 12:45:44
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
12.06.2010, 12:46:54
jejkus.... w petli ma byc funkcja. Myslisz ze zmienna $random bedzie sie sama z siebie aktualizowala? Pozatym dales zly warunek. Prostego == od != nie rozrozniasz?

while (($random = $pics->getRandomPic()) === false){
}
bastard13
12.06.2010, 12:47:51
$random = $pics->getRandomPic();
//wywołuje pętlę dopóki $random==false
while (!$random)
$random = $pics->getRandomPic();
nospor
12.06.2010, 12:56:10
@bastard13 Twoj kod dla cyfry 0 wykona się jeszcze raz, choć nie powinien. Warto jednak stosowac takie operatory jak ===
bastard13
12.06.2010, 13:12:58
Faktycznie, będę musiał uważać na przyszłość