1
随着PHP 7我发现,如果我有这样的功能:整数功能参数自动铸造
function automatic_int_conversion(int $value) {
echo gettype($value) . ' ' . $value;
}
,我和一个浮点参数像这样的称呼它:
automatic_int_conversion(2.0); # prints out: integer 2
的float(2.0)
值被自动转换为int,而如果我打电话与float(NAN)
的功能是这样的:
automatic_int_conversion(NAN); # TypeError
我得到一个类型的错误虽然文件说:
由于PHP 7.0.0,而不是被不确定的,依赖于平台的不同,NaN和无穷,将永远是零转换为整数时。
恕我直言,这是相当混乱和不一致,因为无论是每个浮动自动转换或没有。
我错过了什么?
它打印“通知:未定义的变量:X” https://开头3v4l。 org/TpvFk,但如果我们更正你的错误并删除你的int cast,它会返回“double 2”https://3v4l.org/Bpv4Y – Andreas
@BenM http://php.net/manual/en/math.constants.php或尝试'var_dump(NAN);' – zer0uno
@Andreas显然'$ x'是一个复制n贴纸的错误。然而,这里的要点是自动转换,如果我删除了类型提示,那么就没有问题了。 – zer0uno