is_string

(PHP 4, PHP 5, PHP 7, PHP 8)

is_stringFind whether the type of a variable is string

Description

is_string(mixed $value): bool

Finds whether the type of the given variable is string.

Parameters

value

The variable being evaluated.

Return Values

Returns true if value is of type string, false otherwise.

Examples

Example #1 is_string() example

<?php
$values
= array(false, true, null, 'abc', '23', 23, '23.5', 23.5, '', ' ', '0', 0);
foreach (
$values as $value) {
echo
"is_string(";
var_export($value);
echo
") = ";
echo
var_dump(is_string($value));
}
?>

The above example will output:

is_string(false) = bool(false)
is_string(true) = bool(false)
is_string(NULL) = bool(false)
is_string('abc') = bool(true)
is_string('23') = bool(true)
is_string(23) = bool(false)
is_string('23.5') = bool(true)
is_string(23.5) = bool(false)
is_string('') = bool(true)
is_string(' ') = bool(true)
is_string('0') = bool(true)
is_string(0) = bool(false)

See Also

  • is_float() - Finds whether the type of a variable is float
  • is_int() - Find whether the type of a variable is integer
  • is_bool() - Finds out whether a variable is a boolean
  • is_object() - Finds whether a variable is an object
  • is_array() - Finds whether a variable is an array
add a note

User Contributed Notes 2 notes

up
43
laszlo dot heredy shift-two gmail etc
10 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
10
Peter Barney
6 years 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