Typenumwandlung

Aus php bar

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Typenumwandlung

(oder auch: Typenkonvertierung/casten)


Der Datentyp gibt an, welche Operationen mit den Operanden druchgeführt werden kann und stellt gleichzeitig den Wertebereich für die Variablen dar.

PHP ist keine typenstrenge Programmiersprache. D.h. dass sich der Wertebereich einer Variable beim Abarbeiten des Codes mehrfach ändern kann, ohne dass der Programmierer extra Anweisungen schreiben muss.

Datentypen im Überblick

Datentyp Bedeutung Wertebereich
bool Boolean TRUE/1, FALSE/0
integer/int Ganzzahl -2.147.482.648 bis +2.147.482.647
float (double/real) Fließkommazahl ~1.7E-308 bis ~1.7E+308
string Zeichenkette
array Datenfeld (Arrays)
object Objekt
Resource
NULL

Boolean

Boolean ist der einfachste Datentyp. Er repräsentiert einen Wahrheitswert, der entweder über TRUE oder FALSE ausgedrückt wird. Auf die Groß- und Kleinschreibung wird hier nicht geachtet.

Dieser Datentyp wird üblicher Weise für Kontrollstrukturen wie IF/ELSE oder als Flag verwendet.

Beispiel

 $var1 = TRUE;
 $var2 = FALSE;


Typenkonvertierung nach Boolean

Bei der Typenkonvertierung nach Boolean muss man beachten, dass jeder Wert ungleich 0 oder NULL als TRUE behandelt wird.

 $var1 = 1;
 $bo_var = (bool)$var1; //TRUE
 $var1 = 0;
 $bo_var = (bool)$var1; //FALSE
 $var1 = 4.5;
 $bo_var = (bool)$var1; //TRUE
 $var1 = "";
 $bo_var = (bool)$var1; //FALSE

Integer

Integer umfasst alle ganzzahligen Werte innerhalb des Wertebreiches von -2.147.482.648 bis +2.147.482.647 . Vorzeichenlose Integer-Werte (unsigned Int) werden von PHP nicht unterstützt.

Mögliche Operationen sind: +, -, * Bei der Division von Integer-Werten wird das Ergebnis automatisch in Float umgewandelt.

Beispiel

 $var1 = 123;
 $var2 = 567;
 $i_ergebnis = (int)round($var2 / $var1);


Typenkonvertierung nach Integer

Bei der Umwandlung von Float nach Integer werden die Nachkommastellen ohne Warnung abgeschnitten. Dadurch können gerade bei komplexeren Berechnungen große Abweichungen entstehen. Wenn der umzuwandelnde Wert ausserhalb des Wertebereiches von Integer liegt, so ist das Ergebnis nicht definiert. Die Konvertierung von String nach Integer ist wenig sinnvoll, da der String scheinbar erst nach Boolean und erst danach zu Integer umgewandelt wird.

 $var = (int)123.4;     // = 123
 $var = (integer)123.4; // = 123
 $var = (int)123.78     // = 123
 $var = (int)round(123.78)   // = 124


Float

Beispiel

ToDo

Typenkonvertierung nach Float

ToDo

String

ToDo

Beispiel

ToDo

Typenkonvertierung nach String

ToDo

Array

ToDo

Beispiel

ToDo

Object

ToDo

Beispiel

ToDo

Resource

ToDo

Beispiel

ToDo

NULL

ToDo

Beispiel

ToDo


toto 13:45, 16. Feb 2007 (CET)

Persönliche Werkzeuge