我一直在try 在PHP中更多地使用类型暗示.今天我写了一个函数,它接受一个带有默认参数的布尔值,我注意到
function foo(boolean $bar = false) {
var_dump($bar);
}
实际上抛出了一个致命错误:
带有类类型提示的参数的默认值只能为NULL
而一个类似形式的函数
function foo(bool $bar = false) {
var_dump($bar);
}
没有.然而,两者
var_dump((bool) $bar);
var_dump((boolean) $bar);
给出完全相同的输出
:布尔值假
这是为什么?这与Java中的包装器类类似吗?