![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 276 Pomógł: 0 Dołączył: 30.06.2010 Ostrzeżenie: (10%) ![]() ![]() |
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:
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. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 278 Pomógł: 36 Dołączył: 9.04.2003 Skąd: Płock Ostrzeżenie: (0%) ![]() ![]() |
do {} while ()
-------------------- d(^^)b
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 276 Pomógł: 0 Dołączył: 30.06.2010 Ostrzeżenie: (10%) ![]() ![]() |
Jak powinna wyglądać konstrukcja tej pętli w tym wypadku?
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 278 Pomógł: 36 Dołączył: 9.04.2003 Skąd: Płock Ostrzeżenie: (0%) ![]() ![]() |
-------------------- d(^^)b
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 555 Pomógł: 84 Dołączył: 20.02.2008 Skąd: Małopolska Ostrzeżenie: (0%) ![]() ![]() |
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); Ten post edytował Skie 22.03.2015, 14:12:32 -------------------- Wieloprocesowość i wielowątkowość w PHP, poznaj Kraken PHP!
Serwer HTTP i WebSocket w PHP | Promise/A+ Strona Domowa | Elradia MMORPG FireFox: make the web better. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 276 Pomógł: 0 Dołączył: 30.06.2010 Ostrzeżenie: (10%) ![]() ![]() |
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? |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 278 Pomógł: 36 Dołączył: 9.04.2003 Skąd: Płock Ostrzeżenie: (0%) ![]() ![]() |
Dostałeś gotowca na tacy, w 2 postach w 3 wersjach, odpal to z łaski swojej i przetestuj.
-------------------- d(^^)b
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 19:57 |