La función compact()
en PHP se utiliza para crear un array asociativo a partir de las variables y sus valores actuales en el ámbito donde se llama. Es útil cuando necesitas pasar varias variables a una función o a una plantilla sin escribirlas una por una, simplemente generando un array de forma dinámica con los nombres de las variables como claves.
compact()
en PHP?
compact()
toma una serie de nombres de variables (como cadenas o arrays de cadenas) y devuelve un array donde las claves son los nombres de las variables y los valores son los valores actuales de esas variables. Si alguna de las variables no existe, no se incluye en el array resultante.
compact()
en PHP
En este ejemplo, compact()
convierte las variables $nombre
y $edad
en un array asociativo.
<?php
$nombre = "Juan";
$edad = 30;
// Crear un array usando compact
$persona = compact("nombre", "edad");
print_r($persona);
?>
Salida:
Array
(
[nombre] => Juan
[edad] => 30
)
Puedes pasar varias variables o incluso un array de nombres de variables a compact()
.
<?php
$ciudad = "Madrid";
$pais = "España";
$continente = "Europa";
// Crear un array de nombres de variables
$ubicacion = compact("ciudad", "pais", "continente");
print_r($ubicacion);
?>
Salida:
Array
(
[ciudad] => Madrid
[pais] => España
[continente] => Europa
)
compact()
compact()
también acepta un array de cadenas como argumento para generar un array asociativo.
<?php
$animal = "Perro";
$color = "Marrón";
$edad = 5;
$variables = ["animal", "color", "edad"];
// Crear un array usando un array de nombres de variables
$informacion = compact($variables);
print_r($informacion);
?>
Salida:
Array
(
[animal] => Perro
[color] => Marrón
[edad] => 5
)
Si una de las variables no existe, simplemente no se incluye en el array.
<?php
$fruta = "Manzana";
// Intentar incluir una variable inexistente
$resultado = compact("fruta", "verdura");
print_r($resultado);
?>
Salida:
Array
(
[fruta] => Manzana
)
compact()
simplemente la omitirá del array generado.
compact()
deben estar entre comillas (ya que son nombres, no referencias directas a las variables).
La función compact()
es comúnmente utilizada en frameworks o sistemas de plantillas donde se pasa un conjunto de variables a una vista o función de forma eficiente.
Para más detalles, consulta la documentación oficial de PHP: Documentación de compact()
Jorge García
Fullstack developer