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)
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.