downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | conferences | my php.net

search for in the

isset> <is_scalar
[edit] Last updated: Fri, 26 Apr 2013

view this page in

is_string

(PHP 4, PHP 5)

is_stringFind whether the type of a variable is string

Description

bool is_string ( mixed $var )

Finds whether the type given variable is string.

Parameters

var

The variable being evaluated.

Return Values

Returns TRUE if var is of type string, FALSE otherwise.

Examples

Example #1 is_string() example

<?php
$values 
= array(falsetruenull'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 add a note User Contributed Notes is_string - [2 notes]
up
3
slicky at newshelix dot com
12 years ago
Be aware that this function could result into unwanted results if you check single chars in an array.
For instance:
You have a simple string and want to repeat this string evertime it ends.

<?php
for ($i=0; $i < strlen($string);$i++){
    if(!
is_string($key[$x]))
       
$x = 0;
    echo
$key[$x];
   
$x++;
}
?>

This will print you out the key, but won't iterate it since $x won't be reset. is_string function will give out true at element in that string, even if it doesn't exist. for instance is_string $key[1000] while your string is just 10chars long.
However this doesn't matter just use $key[$x] == '' instead.
Of course you won't use this to iterate a string, but you might come across something where this get useful, for instance for a en/decrypt engine.
up
-4
jeroen at asystance dot nl
6 months ago
Note that this (and probably other is_* functions) behave differently with respect to lazy evaluation:
php > $v = '';
php > echo $v[0];
PHP Notice:  Uninitialized string offset: 0 in php shell code on line 1
# As expected!

php > empty($v) && $v[0];
# As expected, this does not throw a notice, since $v[0] is never evaluated.

# However:
php > is_string($v) && $v[0];
PHP Notice:  Uninitialized string offset: 0 in php shell code on line 1

 
show source | credits | stats | sitemap | contact | advertising | mirror sites