Kezdőoldal » Számítástechnika » Programozás » PHP-ban a switch szerkezetnél...

PHP-ban a switch szerkezetnél csak egyet tud kiírni?

Figyelt kérdés

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?



2015. júl. 1. 14:59
 1/8 anonim ***** válasza:
34%
nem értek a programozáshoz, de gondolom a brake nem kell..
2015. júl. 1. 15:11
Hasznos számodra ez a válasz?
 2/8 A kérdező kommentje:

"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 :)

2015. júl. 1. 15:14
 3/8 anonim ***** válasza:
Használj for ciklust. Elég egy szám gyökéig levizsgálni, de a legjobb a prímtényező felbontás lenne.
2015. júl. 1. 15:15
Hasznos számodra ez a válasz?
 4/8 A kérdező kommentje:
Ahogy nézem az a következő fejezetben lesz...(eddig ennyi a tudásom, ezzel akartam próbálgatni..) :)
2015. júl. 1. 15:18
 5/8 anonim ***** válasza:
Ha nem teszel breaket akkor az összes utána lévő case lefut, ha igaz ha nem a feltételük, ezért "kötelező a break" de amúgy nem az, ha pont úgy szeretnéd ahogy írtam.
2015. júl. 1. 15:21
Hasznos számodra ez a válasz?
 6/8 anonim ***** válasza:
Tehát ha a 3. case igaz, akkor a 4. 5. 6.... is lefut break nélkül.
2015. júl. 1. 15:22
Hasznos számodra ez a válasz?
 7/8 anonim ***** válasza:
Inkább válassz egy olyan feladatot amit ezzel érdemes megoldani! :) bár én személy szerint nem tudok ilyet elképzelni.
2015. júl. 1. 15:25
Hasznos számodra ez a válasz?
 8/8 anonim ***** válasza:

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.

2015. júl. 2. 06:41
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!