Variablen-Typen in PHP: Unterschiede und Anwendung
PHP unterstützt verschiedene Typen von Variablen. Daten werden in Variablen abgelegt: für die effiziente Verarbeitung gibt es unterschiedliche Variablen-Typen wie String, Integer, float, Boolean und Array.
Integer
Ganzzahlen (also keine Kommastellen oder Rundungsprobleme :)
Fließkomma-Zahl (float)
Zahlen mit Nachkommastellen, die beim Runden beachtet werden sollten
String / Zeichenkette Zeichenketten, in denen alles Beliebige stehen kann (auch eine Zahl kann als Zeichenkette definiert sein)
Boolean
Wahrheitswert, wird normalerweise mit TRUE oder FALSE gesetzt und abgefragt
Array
Variablen „auf Ecstasy“ - können große Datenmengen bequem aufnehmen (siehe Kapitel Array)
Beispiele zu Variablen-Typen
<?php
$var_integer = 42; // ein Integer (Ganzzahl)
$var_string = "ax"; // ein String (Zeichenkette)
$var_string = "42"; // sieht auf dem ersten Blick nach
// Integer aus, ist aber ein String
$var_boolean = TRUE; // ein Boolean (Wahrheitswert)
// Abfrage der Variablentyps
echo gettype($variablenname);
?>
Variablen und Formulare
Die Sicherheitsregel lautet, traue keiner Benutzereingabe. Daher ist es wichtig, wenn z. B. eine Ganzzahl erwartet wird, diese über die entsprechende Funktion zu INTEGER zu machen. Müllangaben fliegen raus, saubere Angaben bleiben erhalten und man kann beim Auswerten von einer sauberen Basis ausgehen.
Die Typensetzung ist sehr einfach möglich.
<?php
$var_auf_jeden_fall_int = (int) $variabel;
?>
Folgende Umwandlungen sind durch Angaben der Klammerninhalte samt Klammer möglich:
- (int), (integer) - nach integer
- (float), (double), (real) - nach float
- (string) - nach string
- (bool), (boolean) - nach boolean
- (array) - nach array
Das bedeutet, dass vor Abspeichern der Daten in einer Datei oder Datenbank diese einfach zur Sicherheit auf ihren entsprechenden Typ gesetzt werden.
Möchte man es perfekt machen, kann der Nutzer auch im Formular ein Feedback bekommen, dass irgendwas mit der Eingabe nicht stimmt, z.B. wenn die erwartete Integer-Eingabe keine ist.
Beispiel Test Integer-Angabe
<?php
if ( $test_variable != (INT) $test_variable )
{
echo "Variable hat falschen Inhalt";
echo " - es sind nur ganze Zahlen zulässig";
}
?>
Genauso kann das Testen über die entsprechende PHP-Funktion stattfinden:
<?php
is_int()
is_float()
is_string()
is_array()
is_bool()
?>
Wenn Sie einen Fehler finden, bitte mitteilen (egal ob Schreibfehler oder inhaltlicher Fehler).
Mit Maus fehlerhafte Stelle markieren und übernehmen mit folgendem Button: