PHP 7.4.0beta4 released!

is_string

(PHP 4, PHP 5, PHP 7)

is_string检测变量是否是字符串

描述

is_string ( mixed $var ) : bool

如果 varstring 则返回 TRUE,否则返回 FALSE

参见 is_bool()is_int()is_integer()is_float()is_real()is_object()is_array()

add a note add a note

User Contributed Notes 2 notes

up
22
laszlo dot heredy shift-two gmail etc
5 years ago
Using is_string() on an object will always return false (even with __toString()).

<?php
class B {
  public function
__toString() {
    return
"Instances of B() can be treated as a strings!\n";
  }


$b = new B();
print(
$b); //Instances of B() can be treated as a strings!
print(is_string($b) ? 'true' : 'false'); //false
?>
up
9
Peter Barney
1 year ago
As noted earlier, is_string() returns false on an object that has a __toString() method. Here is a simple way to do a check that will work:

<?php
// determine if the passed argument can be treated like a string.
function is_stringy($text) {
    return (
is_string($text) || (is_object($text) && method_exists($text, '__toString' ));
}
To Top