PHP-ban a switch szerkezetnél csak egyet tud kiírni?
Itt egy kis egyszerű php:
<?php
$k = 6;
switch (0) {
case $k%2: print ("páros szám"); break;
case $k%3: print ("osztható 3-mal"); break;
case $k%4: print ("4-gyel osztható"); break;
case $k%5: print ("5tel"); break;
case $k%6: print ("6-tal"); break;
case $k%7: print ("7-tel"); break;
case $k%8: print ("8-cal"); break;
}
?>
Gondolom mindenki rájön, hogy azt szeretném, hogy kiírja a lap, hogy milyen számokkal osztható..
De csak azt írja ki hogy páros (tehát 2-vel oszható), miközben osztható 3-mal, meg hattal is.
A kérdés, hogy én írtam valamit rosszul, vagy a switch - case csak egyet tud kiírni?
"Fontos: Minden ágat break-kel zárunk le, (különben, ha kimarad az elágazás ágai túlcsordulnak a következő utasításokra, és helytelen program jön létre.)
Kozmajer Viktor: PHP és Mysql az alapoktól
Most ebből tanulom, egyébként azért köszi a választ :)
Ez valóban egy elég szerencsétlen megközelítés, tehát a case alkalmatlan a feladathoz, a feladat pedig alkalmatlan a case gyakorlásához. Az idézett szöveg viszont valószínűleg valamilyen környezetben volt értelmes.
"Fontos: Minden ágat break-kel zárunk le, (különben, ha kimarad az elágazás ágai túlcsordulnak a következő utasításokra, és helytelen program jön létre.)"
Ezt talán egy konkrét programra írhatta. Ha viszont az a célod, hogy minden osztót kiírjon, akkor pont breakkel (NINCS kötőjel!) helytelen, és akkor jön ki a kívánt eredmény, ha egyet sem teszel ki. Na pont ezért alkalmatlan a feladat a case gyakorlására.
Egyébként sem bíznék olyan könyvben, amelyik úgy jött ki a kiadótól, hogy az összetett mondat tagmondatai között nincs vessző, és ötletszerű kötőjelek vannak benne. Ez az igénytelenség jele.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!