PHP / switch -- case

Knoni

Cadet 1st Year
Registriert
Nov. 2005
Beiträge
8
Hi
Ich habe ein Problem mit der switch case Abfrage in PHP
Ich möchte eine Vergleichsoperation mit dem case Befehl machen und es funktioniert nicht.

hier mal der code:
(habe auch case > 15) probiert

<?php
$akttag=15;
switch ($akttag)
{
case 15:
echo "Da heute der $akttag . ist, muss du Eier kaufen :-)";

case is > 15:
echo "Da case größer als 15";

case is < 15:
echo "Da case kleiner als 15";

default:
echo "leider nichts";

}


?>

Mit dem code sollen wir (ITG_11.) an jedem 15. des monats eine meldung anzeigen lassen und an den anderen tagen wie lange es bis dahin noch ist. Es fehlt noch die Rechnung mit den Tagen aber dass kann ich erst machen wenn case richtig funktioniert.
Wir sollen dies mit date und nicht mit timestamp lösen. Da es 1938 auf unseren PC's nicht mehr funktionieren wird :-) (nicht nur deswegen)

Hätte einer ne Lösung

Danke schonmal


tschö

Knoni
 
hasch schrieb:
Wieso nutzt du nicht statt switch/case - if/elseif/else?

Das ist zwar nicht die Antwort auf meine Frage, hatte auch oben schon geschrieben dass wir es so machen müssen. :-)

Entweder hat es nur unser Lehrer gesagt oder es stimmt net. Wenn ich das Script bis 2010 machen will ist es eine endlose arbeit da es so eine lange liste wird. Komme zwar gerade nicht ganz genau hinter die Logik aber egal.
 
Hab dir mal n Beispiel gemacht, den Rest solltest du selbst hinkriegen:

Code:
<?php
$i = 50;


switch ($i) {
case 0:
   echo "i ist gleich 0";
   break;
case 1:
   echo "i ist gleich 1";
   break;
case 2:
   echo "i ist gleich 2";
   break;
case $i>60:
   echo ">60";
   break;
case $i>30:
   echo ">30";
   break;
default:
   echo "i ist weder 0, 1 noch 2";
}
?>

btw: "case is < 15:" <- wie kommst du denn auf "is..."? Sowas gibts net!
 
Danke
gebreaked hatte ich zwar schon aber dass des so geht :-))

thx

EDIT:
es funzt; thx

hatte des mit "case is 15" vergoogelt :-)
ist bei vb script oder so

tschö
 
Zuletzt bearbeitet:
Hoi
Habe noch eine kleine Frage und zwar.
Ich möchte gerne mit dem case Befehl so ein Vergleich machen.

case $datumheute == 18 UND dann soll noch eine Bedingung hinzugefügt werden
mit && anstatt UND funktioniert es nicht
Will es eigentlich so machen.

case $datumheute > 17 && $monat==1 or 3 or 5 ... :
der einzelne Vergleich funktioniert aber ich weiß nicht wie das mit dem && funzt.
habe schon gegoogelt aber da wird fast alles mit if gemacht und bei if wird mit && gearbeitet.

danke schonmal


Knoni
 
hi ich glaube da wirst du mit einer if schjleife im case block rechnen müssen.
könntestz es aber nochmal versuchen, indem due die bedingung in klammern setzt.
Erhoffe ich mir persöhnlich allerdings nicht sehr viel von. case benutzt halt keine bolleansche schaltalgebra, besser gesagt, er benutzt sie schon, aber nicht so, dass man es direkt eingeben könnte
 
Zurück
Oben