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