Chose Language:
Author: Admin/Publisher |finished | checked

PHP compact()

Hoy veremos la función compact() de PHP, que aunque parezca un poco simple, lo que hace te ahorrara tiempo y también dejara tu código un poco más prolijo.

¿Pero qué hace compact?

Bueno, este crea un array a partir de variables y sus valores.

Por ejemplo, si tenemos las siguientes variables:

$nombre = "Luis";
$apellido = "Orson";
$edad = "29"; 

¿Cómo pasaríamos estos valores a un array sin compact? Probablemente, haríamos algo así, ¿no?

array without compact
$nombre = "Luis";
$apellido = "Orson";
$edad = "29";
$data = array("nombre"=>$name, "apellido"=>$apellido, "edad"=>$edad);
var_dump($data);//si usamos var_dump($data);

por otro lado, con compact podríamos hacer lo siguiente:

utilizando compact
$nombre = "Luis";
$apellido = "Orson";
$edad = "29";
var_dump(compact("nombre","apellido","edad"));

La cosa se pone aún más clara a favor de utilizar compact cuando utilizamos más data aún, más si esta incluye arrays, por esta razón es recomendable que lo uses.

si deseas probar un poco más:

Ejemplo simple de php compact
<?php
echo "<p>Blastcoding.com compact() function example<p>";
echo "<p>sin compact</p>";
$nombre = "Luis";
$apellido = "Orson";
$edad = "29";
$data = array("nombre"=>$nombre, "apellido"=>$apellido, "edad"=>$edad);
var_dump($data);//si usamos var_dump($data);

echo "<p>con compact</p>";
$nombre = "Luis";
$apellido = "Orson";
$edad = "29";
var_dump(compact("nombre","apellido","edad"));
?>

Donde Puedo usar PHP compact

El primer lugar sin dudas es cuando necesitamos guardar la data después de hacer la validación

$username = "Nick";
$password = "Mhefue3";
$email = "Nick.carp@example.com";

$userData = compact("username", "password", "email");
saveUserData($userData);

En un segundo lugar podemos utilizarlo al pasar datos a una plantilla no tiene sentido hacer un array data para pasar los datos:

$title = "Un titulo";
$content = "a lorem ipsum paragraph";

template("pagina.php", compact("title", "content"));

En un 3.er lugar tenemos que: podemos preparar los datos antes de pasarlos por al usar compact haremos un array asociativo y, por tanto, obtendremos un objeto JSON

$status = "success";
$data = ["key" => "value"];

echo json_encode(compact("status", "data"));

y por último y obvia cuando tenemos que pasar un array a una función y sus valores están separados en distintas variables.

Puedes ver más funciones para trabajar con arrays en PHP en https://blastcoding.com/php-array-functions-en-espanol/

Category: php
Something wrong? If you found an error or mistake in the content you can contact me on Twitter | @luisg2249_luis.
Last 4 post in same category