Mailinglisten-Archive |
Auf Wunsch von Andre weitergeleitet.
----- Forwarded message from Andre Temme <a.temme_(at)_gmx.de> -----
From: Andre Temme <a.temme_(at)_gmx.de>
Subject: Bereiche in switch?
To: php-admin_(at)_phpcenter.de
Hallo zusammen,
ich wollte ein switch-case mit Bereichen, da ich nicht wußte, ob's
funktioniert, habe ich mir folgendes geschrieben:
<?php
if(!isset($x))
{
$x=0;
}
switch($x)
{
case ($x < 50):
echo "$x ist kleiner als 50";
break;
case ($x > 50):
echo "$x ist größer als 50";
break;
case ($x == 50):
echo "$x ist 50";
break;
default:
echo "Mist, das geht wohl nicht :(";
}
?>
Beim Aufruf passiert nun folgendes:
switch_case_test.php?x=0 -> 0 ist größer als 50
switch_case_test.php?x=1 -> 1 ist kleiner als 50
switch_case_test.php?x=50 -> 50 ist 50
switch_case_test.php?x=51 -> 51 ist größer als 50
switch_case_test.php?x=blubb -> blubb ist kleiner als 50
switch_case_test.php?x=-1 -> -1 ist kleiner als 50
default wird nie ausgegeben.
Verwendete PHP-Version ist 4.0.3pl1
Kann mir jemand die erste Ausgabe erklären?
Die vorletzte wird wohl aufgrund der automatischen Typ-Konvertierung
passieren, und sonst stimmt ja alles. Aber die erste Ausgabe verstehe ich nicht.
Und wo wir gerade dabei sind: Geht auch sowas wie 'case (50 < $x < 100)',
bzw. 'case ($x < 100 AND $x > 49)', das scheint nämlich auch nicht möglich zu
sein :( (das es mit if geht weiß ich).
Verwirrte Grüße
André
--
GMX - Die Kommunikationsplattform im Internet.
http://www.gmx.net
GMX Tipp:
Machen Sie Ihr Hobby zu Geld bei unserem Partner 1&1!
http://profiseller.de/info/index.php3?ac=OM.PS.PS003K00596T0409a
----- End forwarded message -----
--
: www : http://www.bttr.org : http://der.leitweganzeiger.de
: mail : ralf_(at)_bttr.org ::: rg_(at)_leitweganzeiger.de
php::bar PHP Wiki - Listenarchive