1. Home
  2. Docs
  3. PHP
  4. PHP Datentypen

PHP Datentypen

PHP Datentypen: In PHP sind Datentypen ein zentraler Bestandteil zur effektiven Verwaltung und Verarbeitung von Daten. Obwohl PHP dynamisch typisiert ist, wodurch die Datentypen bei Variablen automatisch erkannt werden, ist ein Verständnis der verschiedenen Datentypen und ihrer Funktionsweise essenziell, um effizienten und fehlerfreien Code zu schreiben. In PHP gibt es primäre Datentypen wie Integer, Float, String und Boolean sowie komplexere Typen wie Arrays und Objekte.

Übersicht der PHP-Datentypen

  1. Integer: Ganze Zahlen ohne Dezimalstellen
  2. Float (Gleitkommazahlen): Zahlen mit Dezimalstellen
  3. String: Textzeichenketten
  4. Boolean: Wahrheitswerte (true oder false)
  5. Array: Ansammlungen von Werten in einer strukturierten Liste
  6. Object: Instanzen von Klassen mit Eigenschaften und Methoden
  7. NULL: Repräsentiert eine Variable ohne Wert
  8. Ressource: Verweise auf externe Ressourcen wie Datenbankverbindungen

Integer

Ein Integer ist eine ganze Zahl, die positiv oder negativ sein kann und keinen Dezimalpunkt enthält. In PHP können Integer-Werte in Dezimal-, Oktal- oder Hexadezimaldarstellung angegeben werden.

<?php
$alter = 30; // Dezimal
$oktaleZahl = 075; // Oktal
$hexZahl = 0x1A; // Hexadezimal
echo $alter, $oktaleZahl, $hexZahl;
?>

Float

Float, auch als Gleitkommazahl bezeichnet, sind Zahlen mit Dezimalstellen. Sie werden verwendet, um präzise Berechnungen durchzuführen, insbesondere in mathematischen und wissenschaftlichen Anwendungen.

<?php
$gewicht = 70.5; // Float-Wert
$pi = 3.14159;
echo $gewicht, $pi;
?>

String

Ein String ist eine Zeichenkette und kann aus beliebig vielen Zeichen bestehen. Strings können in PHP mit einfachen (') oder doppelten (") Anführungszeichen angegeben werden. In doppelten Anführungszeichen werden Variablen innerhalb des Strings ausgewertet.

<?php
$name = "Max";
$gruß = "Hallo, $name!"; // Variable wird ausgewertet
$gruß_einfach = 'Hallo, $name!'; // Variable wird nicht ausgewertet
echo $gruß, $gruß_einfach;
?>

Boolean

Ein Boolean-Datentyp hat nur zwei mögliche Werte: true und false. Booleans werden oft in Kontrollstrukturen verwendet, um Bedingungen zu überprüfen.

<?php
$istErwachsen = true;
$hatFührerschein = false;
if ($istErwachsen) {
    echo "Darf Autofahren";
}
?>

Array

Ein Array ist eine Sammlung von Werten, die in einer geordneten Struktur gespeichert sind. Arrays können numerische oder assoziative Schlüssel verwenden, um auf die einzelnen Werte zuzugreifen. PHP unterstützt mehrdimensionale Arrays, was die Speicherung von Daten in komplexen Strukturen ermöglicht.

<?php
$zahlen = [1, 2, 3, 4]; // Numerisches Array
$person = ["Name" => "Max", "Alter" => 30]; // Assoziatives Array
echo $zahlen[0], $person["Name"];
?>

Object

Ein Object ist eine Instanz einer Klasse und wird zur Darstellung komplexer Datentypen und Modelle verwendet. PHP ist objektorientiert und unterstützt daher die Erstellung und Nutzung von Klassen und Objekten. Objekte können Eigenschaften und Methoden besitzen, die spezifische Funktionen definieren.

<?php
class Auto {
    public $farbe;
    public function hupe() {
        echo "Hup hup!";
    }
}

$meinAuto = new Auto();
$meinAuto->farbe = "rot";
$meinAuto->hupe();
?>

NULL

Der Wert NULL wird verwendet, um anzuzeigen, dass eine Variable keinen Wert besitzt. Eine Variable erhält den Wert NULL, wenn sie explizit auf null gesetzt wird oder nicht initialisiert wurde.

<?php
$unbekannt = null;
if (is_null($unbekannt)) {
    echo "Die Variable ist null";
}
?>

Ressource

Der Ressourcentyp ist ein spezieller Datentyp, der eine externe Ressource darstellt, z. B. eine Datenbankverbindung oder eine Datei. Ressourcen sind keine wirklichen Datentypen in dem Sinne, dass sie nicht direkt in PHP manipuliert werden können; stattdessen fungieren sie als Referenzen.

<?php
$datei = fopen("beispiel.txt", "r"); // Ressource
fclose($datei);
?>

Typprüfung und Typkonvertierung

PHP bietet mehrere Funktionen zur Typprüfung wie is_int(), is_float(), is_string(), is_bool(), und is_array(), um den Typ einer Variablen zu überprüfen. Um einen Wert in einen anderen Datentyp zu konvertieren, kann der explizite Cast verwendet werden.

<?php
$zahl = "100";
$intZahl = (int)$zahl; // Typkonvertierung in Integer
echo $intZahl;
?>

Automatische Typkonvertierungen (Typ-Juggling) erfolgen in PHP auch dynamisch, je nach Kontext, z. B. wenn Strings und Integer-Werte in mathematischen Operationen vermischt werden.

Zusammenfassung

PHP bietet eine Vielzahl von Datentypen, die sowohl einfache Werte als auch komplexe Strukturen unterstützen. Ein fundiertes Verständnis der Datentypen und ihrer Anwendung ist entscheidend für effiziente und sichere PHP-Programmierung. PHPs dynamische Typisierung kann hilfreich sein, erfordert jedoch Vorsicht bei der Typprüfung, um unerwartete Fehler zu vermeiden.

Häufig gestellte Fragen

Wie unterscheiden sich == und === bei der Typprüfung?

== prüft auf Wertgleichheit und kann dabei unterschiedliche Typen konvertieren. === prüft hingegen auf Wert- und Typgleichheit, was genauer und oft sicherer ist.

Was ist der Unterschied zwischen einfachen und doppelten Anführungszeichen in PHP-Strings?

Einfache Anführungszeichen (') geben den Inhalt des Strings unverändert aus, während in doppelten Anführungszeichen (") Variablen innerhalb des Strings ausgewertet werden.

Kann ich den Datentyp einer Variablen explizit festlegen?

PHP ermöglicht das explizite Setzen eines Datentyps über Casting, z. B. (int), (float), (string). PHP erzwingt jedoch keine feste Typisierung, und der Typ kann dynamisch geändert werden.

Wie kann ich den Datentyp einer Variablen prüfen?

PHP bietet Funktionen wie is_int(), is_float(), is_string(), und is_array() zur Typprüfung.

Wie konvertiere ich eine String-Zahl in einen Integer?

Durch (int)$string kann eine String-Zahl in einen Integer umgewandelt werden.