Autor | Zpráva | ||
---|---|---|---|
robbie Profil |
Ahoj, chápu to dobře, když u switch zapomenu break; tak to vypíše i chybné hlášky, break je tedy bezpodminečně nutný všude, krom konce kodu? ¨
Je blobost aby $cislo % 2 byl case 5 pravda? Chápu modulo dobře? Děkuji např: <?php $cislo = 6; $modulo = $cislo % 2; switch ($modulo) { case 1 : echo "Číslo je dělitelné 3<br>"; case 3 : // Číslo je dělitelné 2;break; case 0 : echo "Číslo je dělitelné 4<br>"; echo "Číslo je dělitelné 2<br>"; // zde skončí case 0 a case 2 case 5 : echo "Číslo je dělitelné nevim čim<br>"; } ?> |
||
RastyAmateur Profil |
#2 · Zasláno: 12. 2. 2019, 12:25:04
robbie:
Když vynecháš break , vykoná se obsah i dalších case bez ohledu na pravdivost výroku
|
||
TomášK. Profil * |
#3 · Zasláno: 12. 2. 2019, 17:22:10
Výsledek
$cislo % 2 je 0 nebo 1 (možná i -1 pro záporná čísla, tuším, že se to mezi jazyky lišilo), zápis se čte jako "$cislo modulo dva", výsledek je zbytek čísla po dělení 2. Pokud je výsledek 0, znamená to, že číslo je dělitelné 2.
|
||
Keeehi Profil |
#4 · Zasláno: 12. 2. 2019, 19:29:10
robbie:
„Ahoj, chápu to dobře, když u switch zapomenu break; tak to vypíše i chybné hlášky“ Celkem ano. Když se vykonávání nijak nepřeruší, PHP opravdu přejde k vykonávání dalšího case bloku aniž by ověřovalo znovu tu "podmínku". „break je tedy bezpodminečně nutný všude, krom konce kodu?“ Ne tak úplně. Jde o to přerušit vykonávání toho kódu. Což se často u switche dělá právě pomocí break ale není to jediná možnost. V některých případech se může hodit return, jindy vyhození výjimky, exit, die. |
||
Časová prodleva: 5 let
|
0