2011-01-29 21 views
6

tengo una cadena que parece:PHP - Crear una matriz de cadena

single=Single&multiple=Multiple2&check=check1&radio=radio2

¿Cómo podría crear una matriz de esta manera:

array(
    'single' => 'Single', 
    'multiple' => 'Multiple2', 
    'check' => 'check1', 
    'radio' => 'radio2', 
) 
+0

¿Está recibiendo una solicitud? ¿o no? :) – FeRtoll

Respuesta

22

Uso parse_str

parse_str('single=Single&multiple=Multiple2&check=check1&radio=radio2', $data); 

Y en $ datos tendrá sus variables.

+0

¡buena respuesta! corto y bueno! ;) +1 – FeRtoll

+0

gracias singles – Alex

+0

Recuerda: sin usar $ datos crearás un problema de seguridad, porque estás cargando datos en tu alcance actual, por lo que es crucial usarlo :) – nv1t

5

Si esto proviene de una URL, puede tener este ya como una matriz en las variables $ _GET o $ _POST. De lo contrario, use explode() para convertir cadena a una matriz.

+0

proviene de una forma oculta campo generado con jquery, así: http://api.jquery.com/serialize/ – Alex

+0

si está usando ajax(), get() o post() para enviarlo a php, aún debe tenerlo en los vars globales . Como sugerencia adicional, filter_var los vars que provienen de js, antes de usarlos. –

+0

sí, lo hago, pero solo la entrada oculta (es todo lo que necesito). todas las otras entradas están ahí para construir esta cadena :) – Alex

Cuestiones relacionadas