Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Wykonywanie pętli tak długo aż warunek się spełni
Forum PHP.pl > Forum > Przedszkole
Mody23
Jak w PHP wywołać jakąś pętlę, która będzie wykonywała się tak długo, aż jakiś warunek zwróci TRUE?

Powiedzmy, że mam zmienną $output, która musi dać TRUE i wtedy wykona się jakaś tam operacja, a pętla po wykonaniu operacji się przerwie. Jeśli zmienna $output nie zwróci TRUE to pętla wykonuje się od zera (conitnue), tak długo aż zmienna zwróci TRUE.

Mógłbym to zrobić np. tak:

  1. for($i= 0; $i<=1000; $i++)
  2. {
  3. if ( $output == TRUE )
  4. {
  5. // cos tam
  6. }
  7. continue;
  8. }


ale to jest takie prymitywne rozwiązanie, że wolałbym go uniknąć. Jest w PHP coś co nada się w sam raz do opisanej przeze mnie sytuacji?

Dzięki.
slash^
do {} while ()
Mody23
Jak powinna wyglądać konstrukcja tej pętli w tym wypadku?
slash^
  1. do {
  2. //twoje obliczenia $output
  3. } while (!$output);
Skie
Każda pętla się do tego nada, ponieważ to co opisałeś to właśnie przypadek użycia pętli... Ludzie, choć trochę asertywności, naprawdę.

Kod
for ($ouput = false; $output !== true; )
{
   $output = doSmth();
}


Kod
$output = false;
while ($output !== true)
{
   $output = doSmth();
}


Kod
do {
   $output = doSmth();
} while($output !== true);
Mody23
Cytat(slash^ @ 22.03.2015, 14:10:31 ) *
  1. do {
  2. //twoje obliczenia $output
  3. } while (!$output);


Rozumiem, że w do {} mam wklepać ten warunek, który określi czy $output to TRUE czy FALSE, a while będzie się wykonywało tak długo aż $output zwróci wreszcie TRUE, jeśli zwróci true to też się wykona po czym cała pętla się zakończy, tak?
slash^
Dostałeś gotowca na tacy, w 2 postach w 3 wersjach, odpal to z łaski swojej i przetestuj.
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.