Prüfen, ob eine Variable ein String ist (Thema: PHP Beispiele)

Wie in PHP herausgefunden werden kann, ob eine bestimmte Variable ein String ist

1. is_string()

Die Funktion is_string($var) gibt zurück, ob die übergebene Variable ein String ist:

PHP-Code
<?php
	var_dump( is_string('fubar') ); // true
	var_dump( is_string('') ); // true
	var_dump( is_string('1') ); // true
	var_dump( is_string('false') ); // true

	var_dump( is_string(1) ); // false
	var_dump( is_string(0) ); // false
	var_dump( is_string(1.0) ); // false
	var_dump( is_string(false) ); // false
	var_dump( is_string(new stdClass()) ); // false

	class Example {
		public function __toString() {
			return 'Example';
		}
	}
	$obj = new Example();
	var_dump( is_string($obj) ); // false
	var_dump( is_string((string)$obj) ); // true
	var_dump( is_string($obj->__toString()) ); // true
?>

HTML-Code: Ausgabe
bool(true)
bool(true)
bool(true)
bool(true)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(true)
bool(true)


wichtig
Während in Java ein String auch NULL sein kann, ist dies in PHP nicht möglich. Gibt is_string() also true zurück, dann kann man sich darauf verlassen, dass die Variable nicht NULL ist.

2. Funktionsparameter prüfen

Sinnvoll ist die Verwendung von is_string() zum Überprüfen von Funktionsparametern:

PHP-Code
<?php
	function startsWith($str, $with) {
		if (!is_string($str) || !is_string($with)) {
			// Fehlerbehandlung, z.B. Exception
			throw new Exception('Die Parameter $start und $with muessen beide Strings sein.');
		}
		
		return (strpos($str, $with)===0);
	}


	try {
		var_dump(startsWith('Hochhaus', 'Hoch')); // true
		var_dump(startsWith('Garten', 'See')); // false
		var_dump(startsWith('42', 4)); // Exception
	} catch (Exception $e) {
		echo($e->getMessage());
	}
?>

HTML-Code: Ausgabe
bool(true)
bool(false)
Die Parameter $start und $with muessen beide Strings sein.

Kommentare (0)

Von neu nach alt