Variable handling 函数
在线手册:中文  英文

is_string

(PHP 4, PHP 5)

is_string检测变量是否是字符串

描述

bool is_string ( mixed $var )

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

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


Variable handling 函数
在线手册:中文  英文

用户评论:

jeroen at asystance dot nl (2012-10-17 21:22:16)

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

slicky at newshelix dot com (2001-03-20 05:06:54)

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.

易百教程