====== Type Juggling ====== ''Type Jugglin'' bezeichnet eine Art und Weise, wie eine Programmiersprache mit Variablen umgeht. In PHP ist es nicht möglich, eine Variable an einen bestimmten Typen fest zu binden. Ein sehr brauchbares Beispiel stellt der ''+'' Operator dar. Ist einer der Operanden ein [[c:type:float|float]], so wandelt PHP die Variable - sei es nun [[c:type:int|int]], [[c:type:char|string]], [[c:type:double|double]] - in eine [[c:type:float|float]] Variable. Fakt ist, dass PHP eine Bindung an einen Typ nicht braucht und auch nicht unterstützt. Hier ein kleines Beispiel, welches das ''Type Juggling'' sehr gut demonstriert. Aber auch hier sei Vorsicht geboten: Sobald ein Buchstabe zwischen diese Umwandlung kommt, sucht PHP nach der nächsten Zahl im String. Falls keiner gefunden wird, gibt PHP entweder eine Null (0) oder gar nichts zurück. ===== Type Casting ===== Das umwandeln von Variablen Typen (auch [[c:cast|Type Caste]] genannt) funktioniert in PHP fast so wie in C: * (int), (integer) - Umwandlung zu Integer * (bool), (boolean) - Umwandeln nach Boolean * (float), (double) - Umwandlung nach float * (string) - Nach String umwandeln * (binary) - Umwandlung zu Binary-String(PHP 6.0 - dauert wohl noch) * (array) - Zu einem Array umwandeln * (object) - In ein Objekt (Klassen etc.) umwandeln * (null) - Umwandlung nach NULL Siehe auch: [[php:variables#datentypen|Datentypen]]. Im nächsten Kapitel wird gezeigt, wie Variablen mit [[php:operators|Operatoren]] verknüpft werden.