Las variables de nombre variable también llamadas en php variables variables, a pesar de la redundancia son muy útiles a la hora de ahorrar código PHP estas permiten generar nombres de variables PHP dinámicamente sobre todo en funciones y bucles.
La forma normal de crear una variables en php es:

<?php $NombreDeVariable=”Valor de la variable”; ?>

Pero si tenemos que creado un bucle en PHP donde asignamos valores a $x1, $x2, $x3…. “la realidad que yo usaría un array, pero necesito una idea para escribir un artículo para la sección PHP del blog” 🙂 ¿no sería buena idea asignar un valor a la variable una por una? si estamos un bucle sería algo parecido a esto:

<?php
foreach ($arr as &$value) {
   ${'x'.$i} = "valor de variable";
}
?>

Puedes leer mas sobre el tema en el manual oficial de php