は、私は驚嘆しました:PHPはどのように「動的」変数を正確に達成していますか?私は今日、次のコードをテストしたとき
$star = "Aquarius";
$star = 11;
はデバッグ中、私は$star
は単にstring
タイプからinteger
型に変化することを観察しました。私はこの機能に驚きました。たとえば、C++ではこれは不可能ですが、C#ではvar変数を考慮しましたが、同じではありません。あなたが行うことはできません。例えば
:
var dynamic = "Hello";
dynamic = 3;
私は基本的に$スター= 11私の推測では、それが直接されていますので、$star
が単純に再初期化されていることであると言うとき、正確にポイントで何が起こるか疑問に思い始めました(しかし、これは、変数$star
が先に宣言されていることをインタープリターがすでに知っているので、これは変です。誰も助けることができるいくつかの明確なまたは公式ソースバックの説明?
ありがとうございました。
うわー、素晴らしいです。 C#では変数が実際には*汎用*オブジェクト型として格納されることはありませんか?そして、あなたが私がもっと学ぶことができる場所を提供することは可能でしょうか?ありがとう – rtuner
C#は、VM上で実行するバイトコードを出力するための言語です。私がPHPの例で参照していた '汎用オブジェクト型'は、2つのメンバを持つ 'C言語の構造体 'に過ぎません(私はこれを少しだけ簡潔に説明します)。 3つの異なる種類の言語(1つはアセンブリコード用、1つはバイトコード用、もう1つは解釈実行用)のコンセプトを組み合わせるので、ソースを増やすのは難しいです。 –