El error es que, mientras tú erróneamente quieres agregar elementos al array $$valor, PHP interpreta como que quieres setear la variable cuyo nombre es el valor de $valor[], lo cuál genera tremendo error.
Al usar variables variables, todo lo que va tras el primer signo de $ es tomado como nombre de la variable. En este caso PHP al toparse con $$valor[] quiere buscar primero el valor de $valor[] para luego crear la variable cuyo nombre sea el valor encontrado.
La solución es usar llaves:
Código PHP:
Ver original$nombre = array('variable1','variable2','variable3'); foreach($nombre as $valor){
${$valor}[] = 'valor1';
${$valor}[] = 'valor2';
${$valor}[] = 'valor3';
}
foreach($nombre as $valor){
print($$valor);
}