PHP kennt acht primitive Datentypen. Seit PHP 7 lässt sich für jeden davon eine Typ-Deklaration erzwingen — nutze das immer.
Variablen in PHP beginnen mit $ und sind case-sensitive. PHP ist dynamisch typisiert, aber seit Version 7 lassen sich Typen für Funktionsparameter, Rückgabewerte und Properties strikt deklarieren.
Primitive Typen
string— Text, in einfachen oder doppelten Anführungszeichenint— Ganzzahl (64 Bit auf modernen Systemen)float— Fließkommazahlbool—trueoderfalsearray— indiziert oder assoziativobject— Instanz einer Klassenull— kein Wertresource— externe Ressource (Dateihandle, DB-Verbindung)
Beispiel mit strict types
<?php
declare(strict_types=1);
$name = 'PHP'; // string
$version = 8.4; // float
$rank = 1; // int
$aktiv = true; // bool
$tags = ['web', 'oop']; // array
$leer = null; // null
// Typ prüfen
var_dump(gettype($version)); // string(6) "double"
var_dump(is_int($rank)); // bool(true)
String-Interpolation
In doppelten Anführungszeichen werden Variablen ersetzt, in einfachen nicht:
$name = 'Anna';
echo "Hallo, $name!"; // Hallo, Anna!
echo 'Hallo, $name!'; // Hallo, $name!
echo "Hallo, {$user->name}!"; // Für Objekt-/Array-Zugriffe: geschweifte Klammern
Type Juggling — die Falle
PHP konvertiert Typen automatisch beim Vergleich. Das ist bequem, aber gefährlich. Nutze immer === (strict comparison):
var_dump(0 == 'foo'); // bool(false) seit PHP 8, bool(true) davor (!)
var_dump(0 === 'foo'); // bool(false) — immer
var_dump('1' == 1); // bool(true) — Type Juggling
var_dump('1' === 1); // bool(false) — strictHäufige Fragen
Zu welcher Sprache gehört dieses Kapitel?
Dieses Kapitel ist Teil der PHP-Referenz auf programmierung.net.
Wie ist das Kapitel aufgebaut?
Jedes Kapitel folgt derselben Struktur: Konzept, Syntax, Beispiele und Randfälle. Code-Beispiele sind kopierfertig und syntax-geprüft.
Wo finde ich die vollständige Übersicht?
Alle Kapitel findest du in der Sidebar oder in der PHP-Übersicht. Für Funktionen & Klassen gibt es die separate Referenz.