當我今天測試了以下代碼我驚奇:PHP如何實現「動態」變量?
$star = "Aquarius";
$star = 11;
調試時,我觀察到$star
簡單地改變從string
類型integer
類型。我對這個功能感到驚訝。以C++爲例,這是不可能的,但在c#中我認爲var變量,但它不一樣。
舉例來說,你不能做的:
var dynamic = "Hello";
dynamic = 3;
我開始懷疑到底發生了什麼在點的時候我基本上說$星級= 11。我的猜測是,$star
僅僅是重新初始化,因爲它是直接爲(但這看起來很奇怪,因爲解釋者已經知道變量$star
已經被提前聲明)。任何人都可以幫助一些明確或官方源支持解釋?
謝謝。
哇,太好了。那麼這是否意味着在C#中變量永遠不會真正存儲爲* generic * object類型?是否有可能提供任何資源,我可以學到更多?謝謝 – rtuner
C#是輸出字節碼以在VM上運行的語言。我在PHP例子中提到的'通用對象類型'只不過是一個包含2個成員的'C語言結構體'(我通過這樣說簡化了一些問題)。由於您將三種不同語言(一種用於彙編代碼,一種用於字節碼,一種用於解釋執行)的概念組合起來,所以更多的源代碼很困難。 –