2016-08-30 63 views
0

如果我正確理解PHP中實際提供什麼類型的提示,它會檢查類型,並在錯誤發生時拋出錯誤。爲什麼PHP中的類型檢查稱爲「提示」而不是「檢查」?

在我看來,這不僅僅是一個「提示」 - 更像一個(全)「檢查」(如java - 我的主要編程背景)。

所以,我想知道我是否錯過了某些東西,或者這樣命名的目的是什麼。

+0

也許它類似於像'@NotNull'這樣的註釋,它允許靜態分析幫助編寫可能分配null的錯誤,但不會阻止在運行時通過內省分配空值。 –

回答

0

PHP不檢查變量類型,類型沒有在變量聲明中聲明。 PHP總是會在需要時嘗試將變量轉換爲正確的類型。如果您在數字上str_replace,數字將被暫時轉換爲字符串。

正如你可以看到有http://php.net/manual/en/language.types.type-juggling.php

因此,它正好從Java相反。

+0

謝謝,但我不確定它有多大幫助可以說它是來自java的「完全相反的」:差別比精確更微妙。我發現我需要的概念是強制性的。由於java傾向於需要顯式強制轉換,而強制(在php中)意味着強制轉換根據需要完成,無需程序員干預,因此強制允許短語「鍵入提示」對我更有意義,因爲它是命名選擇。 – mwal

+0

當我說完全相反時,它對**更像是一個(完整)「檢查」(如java - 我的主要編程背景)** –

相關問題