SELFPHP

SELFPHP-Druckversion
Original Adresse dieser Seite:
http://www.selfphp.de/praxisbuch/praxisbuchseite.php?site=92&group=21
© 2001-2017 E-Mail SELFPHP OHG, info@selfphp.de
© 2005-2017 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Besonderheiten der verschiedenen Typen


Automatische Typkonvertierung

Ein bedeutender Unterschied zwischen PHP und Sprachen wie C/C++ und Java liegt darin, dass PHP nicht typisiert ist. Dies bedeutet, dass Variablenwerte beliebige Datentypen enthalten können. Im Gegensatz hierzu können Variablen in C/C++ und Java jeweils nur einen einzigen Datentyp enthalten.

Beispiel

$zahl = 5;
$zahl = "fünf";

In PHP ist diese Zuweisung zulässig. Einer Variablen zahl wird zunächst eine Zahl und später eine Zeichenkette zugewiesen. In C/C++ oder Java wären diese Codezeilen unzulässig. Da PHP eine Sprache ohne explizite Typen ist, müssen Variablendeklarationen auch keinen Datentyp angeben, wie dies in C/C++ und Java der Fall ist. In diesen Sprachen deklariert man eine Variable, indem man den Namen des Datentyps angibt, den die Variable aufnehmen soll, und dahinter wird der Name der Variablen angegeben.

Beispiel

// Deklaration einer Integer-Variablen in C/C++ oder Java
int zahl;

In PHP hingegen verwenden Sie für die Variablendeklaration lediglich einen gültigen Variablennamen, brauchen aber keinen Typ anzugeben.

Beispiel

// Deklaration einer PHP-Variablen ohne Typ
$zahl = 100;

Eine Folge aus dem Nichtvorhandensein von Typen in PHP besteht darin, dass Werte automatisch zwischen verschiedenen Typen konvertiert werden können. Wenn man z. B. versucht, eine Zahl an eine Zeichenkette anzuhängen, setzt PHP die Zahl automatisch in die entsprechende Zeichenkette um, die dann angehängt werden kann.

Beispiel

<?php
// Variablen
$wort = "Besucher";
$nummer = 5;
$kombination = $nummer . $wort;
// Ausgabe – 5 Besucher
echo $kombination;
?>

Sie haben nun erfahren, dass PHP untypisiert ist. Diese Tatsache verleiht der Sprache die Flexibilität und Einfachheit, die für eine Skriptsprache wünschenswert ist. Im folgenden Abschnitt werden Sie die automatische Typkonvertierung genauer kennenlernen, da sie ein wesentlicher Bestandteil der Sprache ist.

Ein Beispiel für die automatische Typkonvertierung von PHP ist der +-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.

Beispiel

<?php
// String
$wert = "0";
// Integer
$wert += 2;
// Ausgabe – 2 (Integer)
echo $wert;
?>

Hier eine Zusammenfassung zur automatischen Typzuweisung: