Documentación offline PHP master

compact

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

En esta página

compact

Crea un array a partir de variables y su valor

Descripción#

compact(array $var_name, array ...$var_names): array
```php

Crea un array a partir de variables y su valor.

Para cada uno de los argumentos `varname`, `...`, `compact` busca una variable con el mismo nombre en la [tabla actual de símbolos](#features.gc.refcounting-basics), y la añade al array, de manera que se tenga la relación nombre =\> 'valor de variable'. En resumen, es lo contrario de la función `extract`.

> [!NOTE]
> Antes de PHP 7.3, todas las cadenas no definidas eran ignoradas en silencio.

## Parámetros

`var_name`; `var_names`  
`compact` acepta diferentes parámetros `varname`. Los parámetros pueden ser variables que contienen cadenas, o un array de cadenas, que puede contener otros arrays de nombres de variables, que `compact` tratará de manera recursiva.

## Valores devueltos

Devuelve el array de salida que contiene todas las variables añadidas.

## Errores/Excepciones

`compact` emite un error de nivel `E_WARNING` si una cadena dada hace referencia a una variable no definida.

## Historial de cambios

| Versión | Descripción |
|----|----|
| 8.0.0 | Si una cadena dada hace referencia a una variable no definida, se emite un error de nivel `E_WARNING`. |
| 7.3.0 | `compact` emite ahora un error de nivel `E_NOTICE` si una cadena dada hace referencia a una variable no definida. Anteriormente, estas cadenas eran ignoradas en silencio. |

## Ejemplos

Ejemplo con `compact`
El ejemplo anterior mostrará:

Array ( [event] => SIGGRAPH [city] => San Francisco [state] => CA )

```php

Notas#

[!NOTE] Debido a que las variables variables no deben ser utilizadas con los arrays superglobales en funciones, los arrays Superglobales no deben ser pasados a la función compact.

Véase también#

extract