is_string
(PHP 4, PHP 5)
is_string — Find whether the type of a 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(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
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Расширения, относящиеся к переменным и типам
- Функции для работы с переменными
- boolval
- debug_zval_dump
- doubleval
- empty
- floatval
- get_defined_vars
- get_resource_type
- gettype
- import_request_variables
- intval
- is_array
- is_bool
- is_callable
- is_double
- is_float
- is_int
- is_integer
- is_long
- is_null
- is_numeric
- is_object
- is_real
- is_resource
- is_scalar
- is_string
- isset
- print_r
- serialize
- settype
- strval
- unserialize
- unset
- var_dump
- var_export
Коментарии
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
?>
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' ));
}