"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

[PHP] if elseif else Klopf

McDeath98 23.01.2009 - 15:39 1180 13
Posts

McDeath98

Dark Rider
Avatar
Registered: Jul 2000
Location: Schweiz
Posts: 718
Code: PHP
	if ($gewicht < $stufe1 )
			{
				$versand = "5.0";
			}
		elseif ($gewicht < $stufe2)
			{
				$versand = "14.00";
			}
		elseif ($gewicht < $stufe3)
			{
				$versand = "19.00":
			}
		elseif ($gewicht < $stufe4)
			{
				$versand = "45.00";
			}
		else
			{
				$versand = "85.00";
			}

Wiso zum funktioniert das nur, wenn ich alle elseif ausser dem 1ten auskommentiere?

Need Help. Mir raucht schon der Schädel :D
Bearbeitet von McDeath98 am 23.01.2009, 15:42

Nico

former person of interest
Registered: Sep 2006
Location: -
Posts: 4082
switch ftw?

edit: monitor-auflösung zu hoch -> typo übersehen :p
Bearbeitet von Nico am 23.01.2009, 16:13

mik

einfach anders!
Avatar
Registered: Aug 2005
Location: Weltmetropole AM
Posts: 682
switch würde das ganze um einiges vereinfachen, japp :)

McDeath98

Dark Rider
Avatar
Registered: Jul 2000
Location: Schweiz
Posts: 718
Naja. Mit Switch kann ich ja glaubs nur direkte abfragen machen, also ist Gewicht = 1 etc

Das ganze geht um ne blöde Versandkosten Berechnung.

Gewicht kleiner als 2 kg 5 euro, kleiner als 15 kilo 14 euro kleiner als 30 kilo 19 euro kleiner als 45 kilo 30euro. Sonst 85 Euro

sensei

die Küstenwache?
Avatar
Registered: Dec 2000
Location: Bad Schlotterbac..
Posts: 709
$versand = "19.00":

sollt da kein ";" kommen?

mik

einfach anders!
Avatar
Registered: Aug 2005
Location: Weltmetropole AM
Posts: 682
bin mir jetzt nicht sicher ob das klappt, aber n versuch isses wert:

Code: PHP
switch ($gewicht)
	{
		case ($gewicht < $stufe1): 
			$versand = "5.0"; 
			break;
		case ($gewicht < $stufe2):
			$versand = "14.00"; 
			break;
		case ($gewicht < $stufe3):
			$versand = "19.00"; 
			break;
		case ($gewicht < $stufe4):
			$versand = "45.00"; 
			break;
		default:
			$versand = "85.00";
			break;
     } 

semteX

begehrt die rostschaufel
Avatar
Registered: Oct 2002
Location: Pre
Posts: 14592
jep... mich wunderts, dass sich der interpreter da ned aufregt

edit: solche vergleiche würd ich prinzipiell nicht mit nem switch case machn...

McDeath98

Dark Rider
Avatar
Registered: Jul 2000
Location: Schweiz
Posts: 718
autsch. Ich glaub ich bastel definitiv schon zu lang an dem file :/.

Blöder : statt ;

und nö. Trotz error_reporting einfach ne weisse Seite.

Aber ihr seit genial :D

Big thx

d3cod3

Legend
...
Avatar
Registered: Aug 2002
Location: insert location ..
Posts: 15288
macht man solche abfragen nicht mit == für entspricht? mit = setzt man doch den wert nur oder?

eventl. träum ich nur aber x=5 heisst für mich dass x den wert 5 bekommt. und das willst du ja nicht.

fatmike182

Agnotologe
Registered: Oct 2005
Location: VIE
Posts: 4223
da gehts ja um eine Wertzuweisung (oder?)

edit:
also: wenn das Gewicht <1kg ist zahlt man Versand y (also wird y ein Wert zugewisen)

d3cod3

Legend
...
Avatar
Registered: Aug 2002
Location: insert location ..
Posts: 15288
ja, war grad beim editieren... beim 2ten mal lesen hab ichs dann nicht verkehrt gelesen. meinen post oben ignorieren :p

Spikx

My Little Pwny
Avatar
Registered: Jan 2002
Location: Scotland
Posts: 13504
Ich würde sowas auch nie mit einem switch machen.

McDeath98

Dark Rider
Avatar
Registered: Jul 2000
Location: Schweiz
Posts: 718
switch is gut wenn mann fixwerte hat und damit eine eine Bedingung auslösen will.

In meinem Fall ist es ja eher eine Range von Gewichten die ich abdecken muss. Naja. Nach 11 Stunden Coden übersieht mann gerne mal nen : anstatt nem ; ^^

fatmike182

Agnotologe
Registered: Oct 2005
Location: VIE
Posts: 4223
nope, switch ist gut, wenn man mehrere elseif-cases hätte aber nur eine einzelne zutreffen kann (geht zwar auch für mehrere aber mit break isses schöner). passt also optimal
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz