Hier im Forum bekommt ihr bei euren fragen schnelle hilfe.Hier geht es rund um das Web SeitenProgrammieren.Alles rund ums Javascript,Html,Php,Css und Sql.Auf fast allen Fragen haben wir eine Antwort.
Der Soforthilfe-chat verspricht das ,was sein Name sagt. Hier sind Leute Online die sofort ihre hilfe anbieten.Seht in der OnlineListe nach und wenn einer Online ist werdet ihr auch antwort bekommen. Admine ,Moderatoren und Helfer sind unsere Spezialisten in Sachen Web Programierung
71 Unwetterwarnungen in Deutschland
Die Datenbank wurde zuletzt am 02.08.2020 17:34:28 aktualiesiert
71

Den Datentyp einer Variablen ermitteln

Welche Funktionen von PHP bereitgestellt werden, um den Datentyp einer Variablen zu überprüfen

1. Allgemeines

PHP ist toleranter als andere Programmiersprachen und verlangt nicht, dass für eine Variable ein fester Datentyp angegeben wird. Es gibt, genau genommen, nicht einmal die Möglichkeit dies zu tun. Dennoch hat der Wert jeder Variable einen Datentyp, welcher Einfluss auf die Verarbeitung dieses Wertes hat. Dass Addieren von Integern (ganzen Zahlen) verhält sich zum Beispiel anders als das Addieren von Strings (Zeichenketten).

2. gettype()

Um nun herauszufinden, welchen Datentyp der Wert einer Variablen hat kann gettype($var) verwendet werden. Diese Funktion erzeugt eine der nachfolgenden String-Rückgaben, die den bekannten Datentypen in PHP entsprechen: 'boolean', 'integer', 'double', 'string', 'array', 'object', 'resource', 'NULL', 'unknown type'. Floats werden durch 'double' repräsentiert.

PHP-Code
<?php
    function eineFunktion($par) {
		echo("An diese Funktion wurde ein Parameter mit Datentyp ".gettype($par)." uebergeben.\n");
	}
	
	eineFunktion(1000);
	eineFunktion(true);
	eineFunktion("test");
?>

HTML-Code: Ausgabe
An diese Funktion wurde ein Parameter mit Datentyp integer uebergeben.
An diese Funktion wurde ein Parameter mit Datentyp boolean uebergeben.
An diese Funktion wurde ein Parameter mit Datentyp string uebergeben.

3. is_*-Funktionen

Die Funktion gettype() sollte nur verwendet werden, um den Datentyp einer Variablen auszugeben. Das Testen auf spezielle Datentypen ist — mit dieser Funktion — nicht empfehlenswert, da sich die Rückgaben irgendwann einmal verändert können. Stattdessen sollten die Funktionen is_boolean($var), is_string($var), is_float($var), is_array($var), is_object($var), is_resource($var) und is_null($var) verwendet werden.

Beispiel:

PHP-Code
<?php
	function quadriere($zahl) {
		// Quadriert werden sollen durch diese Funktion nur Integer oder Floats
		// bei allen anderen Datentypen wird ein Fehler geworfen.
		if (!is_int($zahl) && !is_float($zahl)) {
			throw new Exception('Ungueltiger Parameter uebergeben. '
				.'Erwartet wurde Integer, gegeben wurde '.gettype($zahl).'.');
		}
		return ($zahl*$zahl);
	}

	// quadrieren mit 2 als Zahl
	var_dump( quadriere(2) );

	// quadrieren mit 2 als String, erzeugt einen Fehler
	try {
		var_dump( quadriere('2') );
	} catch (Exception $e) {
		echo($e->getMessage());
	}
?>

HTML-Code: Ausgabe
int(4)
Ungueltiger Parameter uebergeben. Erwartet wurde Integer, gegeben wurde string.