Documentación offline PHP master

parse_str

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

En esta página

parse_str

Analiza una string como una cadena de consulta URL

Descripción#

parse_str(string $string, array $result): void
```php

Analiza la string `string` como si se tratara de los parámetros pasados a través de la URL. Todas las variables que identifica son creadas con sus valores respectivos (o en el array si `result` es proporcionado).

## Parámetros

`string`  
La string de entrada.

`result`  
Una variable pasada por referencia, que será definida como un array conteniendo los pares clave-valor extraídos de `string`. Si el parámetro `result` no es pasado, una variable separada es definida en el ámbito local para cada clave.

> [!WARNING]
> El uso de esta función sin el parámetro `result` está muy fuertemente *desaconsejado* y *no recomendado* a partir de PHP 7.2. A partir de PHP 8.0.0, el parámetro `result` es *obligatorio*.

## Valores devueltos

No se retorna ningún valor.

## Historial de cambios

| Versión | Descripción |
|----|----|
| 8.0.0 | `result` ya no es opcional. |
| 7.2.0 | El uso de `parse_str` sin el segundo argumento emite una nota `E_DEPRECATED`. |

## Ejemplos

Ejemplo con `parse_str`
Cualquier espacio o punto en los nombres de parámetros es convertido a guión bajo al crear claves de array o variables locales. Esto se debe a que los nombres de variables en PHP no pueden contener espacios o puntos, pero esto se aplica incluso cuando se utiliza esta función con el parámetro `result`.

Deformación de nombres por `parse_str`

```php

Notas#

[!NOTE] La función parse_str se ve afectada por la directiva max_input_vars. Exceder este límite genera una advertencia E_WARNING, y cualquier variable más allá de este límite no es añadida al array de resultado. El valor por omisión es 1000; ajuste max_input_vars según sus necesidades.

[!NOTE] Todos los valores añadidos en el array result (o las variables creadas si el segundo parámetro no está definido) ya están decodificados con las mismas reglas que urldecode.

[!NOTE] Para obtener la cadena de consulta de la petición actual, se puede utilizar la variable $_SERVER['QUERY_STRING']. Asimismo, puede ser de interés leer la sección sobre las variables de fuentes externas.

Véase también#

parse_url, pathinfo, http_build_query, urldecode