Variablen-Typen

PHP unterstützt verschiedene Typen von Variablen.

Integer
Ganzzahlen (also keine Kommastellen oder Rundungsprobleme :)

Fließkomma-Zahl (float)
Zahlen mit Nachkommestellen, 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 Extasy" - können große Datenmengen bequem aufnehmen (siehe Kapitel Array)

Beispiele zu Variablen-Typen

PHP-Quellcode: Variablen-Typen in PHP
<?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-Quellcode: Typensetzung von Variablen in PHP
<?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-Quellcode: Test auf Variablentyp und gleichen Inhalt
<?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-Quellcode: Funktionen zum Testen von Variablentypen
<?php
is_int()
is_float()
is_string()
is_array()
is_bool()
?>