phpbar.de logo

Mailinglisten-Archive

[php] Wo bleibt der Wert?

[php] Wo bleibt der Wert?

Thomas Beckmann php_(at)_phpcenter.de
Tue, 21 Aug 2001 15:11:09 +0200


>ich glaube es nicht, ist aber so: Ein Skript lauft einwandfrei unter =
eine
>WAMP-Umgebung, nicht aber auf dem Live-Server. Im Prinzip geht es so: =
ich
>erwarte eine Zahl als Eingabe, reiche die an eine Funktion einer =
includeten
>Datei und erwarte von dort einen berechneten Wert zurueck. =20
>Offenbar macht die Funktion Probleme. Sie sieht so aus:
>
>function berechnung($V)
>{
>	SWITCH ($V)
>	{
>		CASE $V < 1000:
>			$beitrag =3D 1;
>			break;
>		CASE $V <=3D 4999:
>			$beitrag =3D 2;
>			break;
>		CASE $V >=3D 5000:
>			$beitrag =3D 3;
>			break;
>		}
>	return $beitrag;
>}
>
>$V kann ich jederzeit wie uebergeben printen. Lokal (WAMP) wird gemaess
>SWITCH der Wert fuer $beitrag bestimmt und zurueckgegeben - NICHT aber =
auf
>dem Server?. Vor "return..." ist $beitrag =3D> "" ??? Hat jemand eine
>Anregung?
Was ist denn $V?
Das Dein script vermutlich logisch nicht korrekt ist, ist Dir klar,
oder?
Denn switch() vergleicht $V mit den Werten hinter case, in Deinem Fall
sind das true oder false. Wenn also $V !=3D 0 ist, ist es true und der
erste zu true evaluierte Ausdruck hinter case ist der, der
angesprungen wird...
case ist kein if !
Nimm z.B. $V =3D 0;
Dann ist der erste case true - wird also =FCbergangen, der zweite ist
ebenfalls true - wird also auch =FCbergangen, beim dritten jedoch
stimmt's, denn $V>=3D5000 ist false und 0=3D=3Dfalse ...

---
Thomas Beckmann, Kiel, Germany
beckmann_(at)_gis.de


php::bar PHP Wiki   -   Listenarchive