PHP 8.5.8 Released!

is_string

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

is_string检测变量的类型是否是字符串

说明

function is_string(mixed $value): bool

检测变量的类型是否是字符串。

参数

value

要计算的变量。

返回值

如果 value 是类型 string ,返回 true ,否则返回 false

示例

示例 #1 is_string() 示例

<?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));
}
?>

以上示例会输出:

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)

参见

发现了问题?

了解如何改进此页面提交拉取请求报告一个错误
+添加备注

用户贡献的备注 2 notes

up
41
laszlo dot heredy shift-two gmail etc
12 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
13
Peter Barney
8 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' ));
}
+添加备注

AltStyle によって変換されたページ (->オリジナル) /