$$var(変数名)ってなに?
可変変数といって、どんな変数の代わりにもできる変数です!!
変数名を動的に変えられる変数を「可変変数」といいます。たとえば、次のように可変変数を使います。
<?php
$var = "variable1"
$$var = "こんにちは"
print $$var;
?>
ここでは最初に「$var = "variable1"」と指定しているので、「$$var」は「$variable1」と同じになります。つまり、2行目では「$variable1」に「こんにちは」と代入していることになります。「print $$var」の行は下のように書いても同じ結果が得られます。
<?php
print $variable1;
?>
■ダブルクォート内での可変変数!!
ダブルクォート内に「$$var」と書くと、$varだけは解釈されますが、「$$var」は可変変数として解釈されません。最初のスクリプトで、「print "$$var"」と書くと「$variable1」というように表示されます。これをダブルクォートないでも可変変数として解釈させるには、下のように{ }でくくります。
<?php
print "${$var}";
?>
個人的には、{ }で囲まれているほうが認識しやすいしわかりやすいので常に上のように書いています。見た感じで可変変数を知らなくても「$var」の中にある値が変数名になるんだなとおもいませんか?