$$ を使用して文字列を変数として使用する方法に混乱しています。主に、文字列を使用して配列インデックスを参照する場合です。次のケースを考えてみましょう。
$colors = array(
'r'=>"red",
'b'=>"blue"
);
$vr = "colors[r]"; //I tried even this "color['r']"
echo $$vr; // I tried even this ${$vr}
上記のことが可能かどうかは誰でもわかります。予想されるo/pは、「color [r]」を文字列として使用し、それを変数として使用して赤です。