Saltar al contenido
TodoConK
Volver

Convertir una query string a un array

Actualizado:

Una cadena de consulta o query string se puede definir como aquellos datos que se envían a través de la URL al momento de hacer un request a una página web. Un servidor web puede manejar y acceder a esta información y utilizarla de la forma que sea necesaria.

Un ejemplo de query string:

somepage?pg_id=2&parent_id=2&document&video

La estructura de una query string se compone de añadir los atributos en forma de clave=valor después de un signo de interrogación ?, siendo este un separador para que el servidor sepa dónde empieza la cadena de consulta. Además, es posible enviar varios atributos mediante el uso de &.

Usemos un ejemplo para explicar

https://www.mydomain.tld/somepage?pg_id=2&parent_id=2&document&video

Y necesitamos convertirlo a un array:

array(
  'pg_id' => 2,
  'parent_id' => 2,
  'document' => ,
  'video' =>
)

Algunas veces usar solamente parse_str() no soluciona el problema, obteniendo un resultado como este:

array (
    [somepage?id] => 123
    [lang] => gr
    [size] => 300
)

En estos casos, para mejores resultados se puede combinar parse_str() con parse_url():

$url = "somepage?id=123&lang=gr&size=300";
parse_str( parse_url( $url, PHP_URL_QUERY), $array );
print_r( $array );

La función parse_url analiza y devuelve una matriz asociativa que contiene cualquiera de los diversos componentes de la URL que están presentes. Acepta 2 parámetros:

La función parse_str convertirá un string en variables, analizando la cadena de texto como si fuera un string de consulta pasado por medio de una URL. Recibe 2 parámetros:

Aprovechando las ventajas de ambas funciones obtenemos el resultado esperado.

¡Hasta un próximo post!


Compartir esta publicación:

Publicación anterior
Primera publicación
Publicación siguiente
Cómo eliminar las conexiones activas con Samba