|
PHP erfordert (bzw. unterstützt) keine expliziten Typ-Definitionen bei der Deklaration von Variablen; der Typ einer Variablen wird durch den Zusammenhang bestimmt in dem die Variable benutzt wird. Das bedeutet, dass bei der Zuweisung eines Strings zu einer Variablen $var diese Variable $var zum Typ String wird. Sollten Sie dananch der Variablen $var einen Integer-Wert zuweisen, wird sie zu einem Integer-Typ.
Ein Beispiel für die automatische Typ-Konvertierung von PHP ist der Plus-Operator '+'. Ist einer der zu addierenden Werte vom Typ float, werden alle Werte als float-Typ behandelt. Auch das Ergebnis der Addition wird vom Typ float sein. Andernfalls werden die Werte als integer-Typen angesehen und das Ergebnis wird ebenfalls vom Typ Integer sein. Beachten Sie, dass hierdurch NICHT der Typ der Operanden selbst beeinflusst wird; der Unterschied liegt einzig und allein in der Auswertung dieser Operanden.
<?php |
Wenn Ihnen die beiden letzten Beispiele merkwürdig erscheinen, beachten Sie die Umwandlung von Strings in Zahlen.
Wenn Sie die Auswertung einer Variablen als einen speziellen Typ erzwingen wollen, beachten sie den Abschnitt in Typ-Umwandlung. Wollen Sie den Typ einer Variable ändern, schauen Sie bei settype() nach.
Um die Beispiele dieses Kapitels auszuprobieren, können Sie die Funktion var_dump() verwenden.
Anmerkung: Das Verhalten einer automatischen Umwandlung zum Typ Array ist zur Zeit nicht definiert.
Weil PHP (aus historischen Gründen) die Indizierung innerhalb von Strings mittels der gleichen Syntax wie bei der Array-Indizierung unterstützt, führt das o.a. Beispiel zu einem Problem: Soll $a zu einem Array werden, dessen erstes Element ein "f" ist oder soll "f" das erste Zeichen des Strings $a werden?
Die aktuellen Versionen von PHP interpretieren die zweite Anweisung als Stringversatz-Kennung, weshalb $a zu "f" wird. Das Ergebnis dieser automatischen Umwandlung sollte jedoch als undefiniert betrachtet werden. Mit PHP 4 wurde die neue Syntax mit geschweiften Klammern eingeführt um auf Zeichen in einem String zuzugreifen. Verwenden Sie statt der oben vorgestellten Syntax folgende:
Für weitere Informationen siehe Abschnitt Zugriff auf Zeichen in Strings.
Typ-Umwandlung in PHP funktioniert vielfach wie in C: Der Name des gewünschten Typs wird vor der umzuwandelnden Variablen in Klammern gesetzt.
Folgende Umwandlungen sind möglich:
(int), (integer) - nach integer
(bool), (boolean) - nach boolean
(float), (double), (real) - nach float
(string) - nach string
(array) - nach array
(object) - Wandlung zum Objekt
Beachten sie, dass Tabulatoren und Leerzeichen innerhalb der Klammern erlaubt sind. Deshalb sind die folgenden Beispiele identisch:
Anmerkung: Anstatt eine Variable in einen String umzuwandeln, können Sie die Variable auch in doppelte Anführungszeichen einschließen.
Es ist nicht immer offenkundig, was bei der Typ-Umwandlung geschieht. Für weitere Informationen schauen Sie unter folgenden Abschnitten nach:
Zurück | Zum Anfang | Weiter |
In dieser Dokumentation verwendete Pseudo-Typen | Nach oben | Variablen |
Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 17:57:24