1UnitedPower: NULL = 0?

Beitrag lesen

Meine Herren!

$Eingabefeld = $_POST['ort'];
$wetter = explode('-',$Eingabefeld);

  
Ich breche das mal weiter runter.  
In $\_POST['ort'] steht (falls vorhanden) eine Wert mit dem Typ String.  
  
Mit explode() kannst du den String in ein Array von Strings aufteilen.  
  
Ob einer der beiden Strings leer ist, kannst du herausfinden, indem du sie mit dem leeren String vergleichst, also ganz strikt, wie folgt:  
  
~~~php
$wetter[0] === ''  
$wetter[1] === ''

In einem anderen Fall ist die die Post-Variable 'ort' gar nicht gesetzt, dann macht es natürlich auch keinen Sinn explode() anzuwenden. Ob die Variable überhaupt gesetzt ist, kannst du mit isset() ausmachen.

Außerdem gibt es noch den Fall, dass $_POST['ort'] zwar gesetzt ist, aber dass kein Bindestrich darin vorkommt. Dann explode() uns Array mit nur EINEM String zurück. $wetter[1] ist dann also nicht gesetzt. Das können wir wieder mit isset() überprüfen.

Du kannst den Typen von Variablen auch ganz konkret ermitteln. Ich empfehle dir mal etwas mit gettype() herum zu spielen.

Die Regeln für die automatische Typkovertierung (mit ==) sind nicht unbedingt offensichtlich, in dieser Tabelle sind einige häufige Fälle aufgelistet. Etwas mehr Theorie findest du im Abschnitt Type Juggling.

--
“All right, then, I'll go to hell.” – Huck Finn