1. is_string()
Die Funktion is_string($var) gibt zurück, ob die übergebene Variable ein String ist:
PHP-Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <?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
1 2 3 4 5 6 7 8 9 10 11 12 | 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <?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
1 2 3 | bool(true) bool(false) Die Parameter $start und $with muessen beide Strings sein. |