Si no ando errado, los {} se introdujeron para resolver una ambiguedad :)
Te explico, sabes, que en una cadena pudes poner esto:
Código PHP:
$a = "mundo";
echo "Hola $a"; //Hola mundo
echo "Hola {$a}"; //Hola mundo
En este caso, es el mismo resultado. Pero, imaginate ahora el siguiente escenario
Código PHP:
$a = "b";
$b = "mundo";
echo "Hola $$a"; //Hola mundo
echo "Hola ${$a}"; //Hola mundo
Hasta aqui, tb da el mismo resultado, pero, si rizamos un poco más, y metemos array, nos encontramos con un problema
Código PHP:
$a = "b"
$b[1] = "mundo";
echo "Hola $$a[1]";
echo "Hola ${$a}[1]"; //Hola mundo
Si te fijas, en el primer caso $$a[1], php no sabe como interpretarlo... ¿El array es de $a? o del $$a? De ahí a q se permita el uso de { } para indicarle la variable :)
De todas formas, está mejor explicado aqui:
http://www.php.net/manual/es/languag...s.variable.php
No sé si lo has entendido :(