php变量类型映射
比如,你把一个变量映射为字符串的时候,NULL以及布尔值FALSE会变成空字符串,0(以及其它数字)变成包含数字的字符串,布尔值TRUE变成 "1".
下面的代码实例都可以在cli中测试
~$ php -a
> *****
$a = NULL; // NULL/FALSE
$b = (string)$a;
var_dump($b); // ''
$a = TRUE;
$b = (string)$a;
var_dump($b); // '1'
$a = 0;
$b = (string)$a;
var_dump($b); // '0'
function test_string($str = '')
{
// return $str == ''; // uh-oh! 如果传递参数为FALSE/0会出现异常情况
return $str === ''; // 严格判断变量是否字符串类型
}