variables variables

¿Cómo creo variables variables dentro de un ciclo for?

este es el ciclo:

for ( $counter = 1; $counter <= $aantalZitjesBestellen; $counter ++) { } 

Dentro de este ciclo me gustaría crear un asiento $ variable por cada vez que pasa, pero tiene que incrementarse de manera similar. La primera vez que lo pase debe ser $seat1 = $_POST['seat'+$aantalZitjesBestellen] , la próxima vez que pase: $seat2 = $_POST['seat'+$aantalZitjesBestellen] y así sucesivamente.

así que al final debería ser:

 $seat1 = $_POST['seat1']; $seat2 = $_POST['seat2']; 

y así.

entonces la variable y el contenido de $ _POST deben ser dynamics.

En primer lugar, usaría una matriz para esto a menos que me falta algo. Tener variables como $seat1 , $seat2 , etc. tiende a tener mucha menos utilidad y ser mucho más engorroso que usar una matriz.

Dicho esto, use esta syntax:

 for ( $counter = 1; $counter <= $aantalZitjesBestellen; $counter ++) { $key = 'seat' . $counter; $$key = $_POST[$key]; } 

Por último, PHP tiene una función incorporada para extraer claves de matriz en la tabla de símbolos: extract() . extract() tiene enormes problemas potenciales de seguridad si lo usas con una entrada de usuario no filtrada (por ejemplo, $_POST ), así que $_POST con precaución.

Esto funcionará también:

 for ( $counter = 1; $counter <= $aantalZitjesBestellen; $counter ++) { ${'seat' . $counter} = $_POST['seat' . $counter]; } 

(Ampliado para mayor claridad, es posible que pueda hacer un solo liner)

 for ( $counter = 1; $counter <= $aantalZitjesBestellen; $counter ++) { $varname = 'seat' . $counter; $$varname = $POST[$varname]; } 

PERO ! Realmente no deberías hacer esto. (Y si realmente debe, vea la respuesta de cletus para la forma integrada de PHP para hacerlo, esto también se considera una mala práctica).

Reconsidere su problema y vea si las matrices pueden ser la solución (supongo que sí). Esto facilitará tanto la inspección (por ejemplo, var_dump() ) como la iteración y no contamina el espacio variable global.

 for ( $counter = 1; $counter <= $aantalZitjesBestellen; $counter ++) { $name = 'seat' . $counter; $$name = $_POST['seat' . $counter]; } 

Se recomienda usar matrices, ya que puedes verificarlas más fácilmente.

Puedes usar extracto pero no te recomiendo hacer lo que intentas hacer.