[PHP] Wykonywanie pętli tak długo aż warunek się spełni |
[PHP] Wykonywanie pętli tak długo aż warunek się spełni |
22.03.2015, 14:01:25
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. |
|
|
22.03.2015, 14:03:28
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
|
|
|
22.03.2015, 14:09:13
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?
|
|
|
22.03.2015, 14:10:31
Post
#4
|
|
Grupa: Zarejestrowani Postów: 278 Pomógł: 36 Dołączył: 9.04.2003 Skąd: Płock Ostrzeżenie: (0%) |
-------------------- d(^^)b
|
|
|
22.03.2015, 14:11:21
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. |
|
|
22.03.2015, 14:30:08
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? |
|
|
22.03.2015, 14:32:39
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
|
|
|
Wersja Lo-Fi | Aktualny czas: 26.04.2024 - 06:52 |