今天测试下面代码的时候惊呆了:
$star = "Aquarius";
$star = 11;
在调试时,我观察到$star
只是从string
类型到integer
类型的变化。我对这个功能感到惊讶。例如,在 C++ 中,这是不可能的,但在 c# 中,我考虑了 var 变量,但它并不相同。
例如你不能这样做:
var dynamic = "Hello";
dynamic = 3;
我开始想知道当我基本上说 $star = 11 时到底发生了什么。我的猜测是它$star
只是被重新初始化,因为它被直接分配给(但这似乎很奇怪,因为解释器已经知道$star
之前已经声明了一个变量) . 任何人都可以提供一些明确或官方来源支持的解释吗?
谢谢。