PHP Conference Japan 2024

is_string

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

is_string判斷變數的類型是否為字串

說明

is_string(混合 $value): 布林值

判斷給定變數的類型是否為字串。

參數

value

要評估的變數。

傳回值

如果 value 的類型是 字串,則回傳 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 則註釋

43
laszlo dot heredy shift-two gmail etc
10 年前
對物件使用 is_string() 永遠會回傳 false(即使使用 __toString() 也是如此)。

<?php
class B {
public function
__toString() {
return
"B() 的實例可以被視為字串!\n";
}
}

$b = new B();
print(
$b); //B() 的實例可以被視為字串!
print(is_string($b) ? 'true' : 'false'); //false
?>
10
Peter Barney
7 年前
如同先前所述,`is_string()` 函式在物件具有 `__toString()` 方法時會返回 false。以下是一種可以運作的簡易檢查方式:

<?php
// 判斷傳入的參數是否可以被視為字串。
function is_stringy($text) {
return (
is_string($text) || (is_object($text) && method_exists($text, '__toString' ));
}
To Top