PHP Tutorial #11

PHP Funktionen für Variablen

2019-02-17 | ©selinofoto (stock.adobe.com)

Thema in Kurzform

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.

// Schnelles Code-Beispiel
$name = "Pocket Rocket";
var_dump($name); // string(13) "Pocket Rocket"

Datentyp herausfinden

var_dump

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

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!

Werbung

Java lernen

Werde zum Java Profi!

PHP Lernen

Lerne serverbasierte Programmierung

JavaScript lernen

Skille dein Webcoding

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