場合によっては、変化する変数を使用すると非常に便利です。つまり、変数の名前は動的に設定され、使用されます。通常の変数は次の宣言を使用して宣言されます:
$a = "hello";
可変変数は変数の値を取得し、それを変数の名前として扱います。上記の例では、変数名に $ を 2 つ加えたものなどを使用して「hello」を使用できます。
$$a = "world";
この時点で、2 つの変数が定義され、PHP のシンボル ツリーに保存されます; $a の内容は "hello"、$hello の値は "world" です。したがって、次のステートメント:
echo "$a ${$a}";
は次とまったく同じ出力を生成します:
echo "$a $hello";
どちらも出力: "hello world"
は配列になります変数を変更するには、あいまいな問題を解決する必要があります。つまり、「$$a[1]」と記述すると、パーサーは、$a[1] を変数として使用するか、$$a を変数として使用するかを知る必要があるため、インデックス "[1] 】」と曖昧さが生じる可能性があります。このあいまいさを解決するための構文は次のとおりです: "${$a[1]}" または "${$a}[1]" を使用します (上記の 2 番目のケースの場合)。