07.02.19 1906 Views 4

credit: ©selinofoto (stock.adobe.com)

PHP Tutorial #11

PHP Funktionen für Variablen

In PHP stehen verschiedene Funktionen zur Verfügung, die speziell für die Untersuchung von Variablen geschaffen wurden. Wir können mithilfe dieser Funktionen herausfinden, welchen Datentyp eine Variable speichert oder ob sie überhaupt einen Wert enthält.

Falconbyte unterstüzen

Betrieb und Pflege von Falconbyte brauchen viel Zeit und Geld. Um dir auch weiterhin hochwertigen Content anbieten zu können, kannst du uns sehr gerne mit einem kleinen "Trinkgeld" unterstützen.

Thema in Kurzform

  • Die Funktion var_dump überprüft den übergebenen Wert nach Datentyp und Inhalt gibt das Ergebnis am Bildschirm aus.
  • $name = "Pocket Rocket";
    var_dump($name); // string(13) "Pocket Rocket"
    
  • Weitere Funktionen zum Handling von Variablen in PHP lernen Sie auf dieser Seite kennen.

    Inhaltsverzeichnis

  1. Datentyp herausfinden
  2. Datentyp gezielt checken
  3. is_null, empty, isset
  4. Übungen

Datentyp herausfinden

var_dump

  • void var_dump ( mixed $expression [, mixed $... ] )

Führen wir die Funktion var_dump aus, wird der Wert, den wir in Parametern übergeben, untersucht. Es werden dann Informationen am Bildschirm ausgegeben, von denen wir den Datentyp und Inhalt des eingegebenen Werts einsehen können.

Wir sind dabei nicht auf einen Parameter beschränkt, sondern können die Funktion gleich mit mehreren Werten bzw. Variablen füttern:

$name = "Pocket Rocket";
$isAlive = false;
$num = 234;
var_dump($name, $isAlive, $num);

Am Bildschirm wird nun Folgendes angezeigt:

string(13) "Pocket Rocket" bool(false) int(234)

gettype

  • string gettype ( mixed $var )

Noch simpler ist die Funktion gettype. Wir können einen Wert bzw. eine Variable als Paramter übergeben und erhalten dann einen String zurück, der den Datentyp ausdrückt. Hier ein Beispiel:

$tier = "Falke";
$alterTier = 7;
$klassifikation = 2.43;
$imEinsatz = true;

echo gettype($tier) . '<br>';
echo gettype($alterTier) . '<br>';
echo gettype($klassifikation) . '<br>';
echo gettype($imEinsatz);

Der Output im Browser sieht damit so aus:

string
integer
double
boolean

Welche der beiden Funktionen Sie verwenden (var_dump oder gettype), hängt von der Situation ab. Wollen Sie nach der Abfrage des Datentyps diesen zur Grundlage für weitere Programmierschritte verwenden, benutzen Sie am besten gettype. Geht es Ihnen aber einfach nur darum, eine schnelle Information über den Datentyp verschiedener Variablen zu erhalten, nutzen Sie var_dump.

Datentyp gezielt checken

Es gibt außerdem Funktionen, mit denen wir gezielt danach fragen können, ob ein Wert von einem bestimmten Datentyp ist oder nicht.

Merke: Die Funktionen liefern entweder 1 (bei true) oder überhaupt nichts (bei false) zurück:

  • bool is_bool ( mixed $var )
  • bool is_double ( mixed $var )
  • bool is_int ( mixed $var )
  • bool is_string ( mixed $var )
  • bool is_numeric ( mixed $var )

Die ersten vier Funktionen sind im Wesentlichen selbsterklärend.

Die Funktion is_numeric checkt ab, ob der übergebene Parameter eine beliebige Zahl (z.B. 100 oder 95.32) oder ein numerischer String ist. Ein numerischer String ist ein String, der aus Zahlen besteht (z.B. "1234"). Bei true wird entsprechend 1 geliefert.

is_null, empty, isset

Wir haben im Kapitel über die PHP-Datentypen schon erfahren, wozu wir den Wert null in der Programmierung benötigen. Ob eine Variable einen solchen null-Wert enthält, können wir mit der Funktion is_null prüfen. Diese liefert true zurück, wenn die Variable null enthält.

Eine Variable, die null ist, ist automatisch auch empty („leer“). Klingt logisch! Wir können dies mit der Funktion empty überprüfen. Diese Funktion checkt, ob eine Variable keinen Wert enthält. Ist das Ergebnis true, ist die Variable leer.

Es gibt aber mehrere Fälle, in denen eine Variable auch noch als empty gilt. Eine Variable ist nämlich auch dann empty, wenn sie 1.) einen „leeren“ String "", 2.) die String-Numerale "0" oder 3.) den Integer-Wert 0 hat. Außerdem gilt sie empty, wenn sie 4.) den booleschen Wert false trägt. Die Funktion liefert übrigens auch dann true zurück, wenn die Variable 5.) nicht definiert wurde.

Schließlich erweist sich im Programmieralltag die Funktion isset als sehr nützlich. Diese prüft, ob eine Variable existiert und ob sie gleichsam nicht null ist. Ist dies der Fall, liefert sie true.

Noch einmal kurz und knackig:

  • is_null: Prüft, ob eine Variable null enthält.
  • empty: Prüft, ob eine Variable null oder keinen Wert enthält.
  • isset: Prüft, ob eine Variable definiert wurde und ob sie nicht null ist.

Und hier alle möglichen Fälle in der Übersicht:

is_null empty isset
$var="Morpheus"; false false true
$var=null; true true false
$var=""; false true true
$var=" "; false false true
$var="0"; false true true
$var=0; false true true
$var=true; false false true
$var=false; false true true
Variable nicht definiert Fehler! true false

Nicht vergessen: Die Funktionen liefern entweder 1 (bei true) oder nichts (bei false) zurück!

Übungen

einfach

Gegeben ist folgender PHP-Code:

$v1 = true;
$v2 = 1000;
$v3 = "Whisky";
$v4 = 99.99;

Erweitern Sie den Code mithilfe der echo-Anweisung und einer geeigneten Funktion so, dass nach Ausführung die Zahl 1 zweimal hintereinander (11) im Browser ausgegeben wird.

Lösung ein-/ausblenden

mittel

Schreiben Sie ein PHP-Skript, das drei Variablen enthält ($variable1, $variable2 und $variable3). Die Variablen sollen jeweils einen Wert vom Typ string, double und boolean tragen. Entscheiden Sie nun, ob die Funktion var_dump oder gettype geeignet ist, um folgende Ausgabe im Browser zu erhalten:

Variable Nr. 1 hat einen Wert vom Datentyp string
Variable Nr. 2 hat einen Wert vom Datentyp double
Variable Nr. 3 hat einen Wert vom Datentyp boolean

Lösung ein-/ausblenden

schwer

Welche Werte werden beim Ausführung der folgenden Funktionen jeweils zurückgeliefert?

// 1.
$x1 = "Full Metal Jacket";
echo isset($x1);

// 2.
$x2 ="null";
echo is_null($x2);

// 3.
$x3 = 100;
echo is_null($x3);

// 4.
$x4 = false;
echo empty($x4);

// 5.
$x5 = null;
echo isset($x5);

// 6.
$x6 = "";
echo empty($x6);

// 7.
$x7 = 0;
echo empty($x7);
Lösung ein-/ausblenden

Java lernen

text text

PHP Lernen

zur PHP

JavaScript lernen

move nove move

FALCONBYTE.NET

Handmade with 🖤️

© 2018-2023 Stefan E. Heller

Impressum | Datenschutz | Changelog

Falconbyte Youtube Falconbyte GitHub facebook programmieren lernen twitter programmieren lernen discord programmieren lernen