Bienvenidos sean a este post, hoy veremos una funcion para los arrays.
Esta funcion nos devuelve los valores de una sola columna en un array, antes de comentar mas veamos como es su sintaxis:
array_column(array, columna[, indice])
Los primeros dos argumentos son los obligatorios siendo el primero el array que trabajaremos y el segundo sera la columna que seleccionaremos para poder extraer la informacion relacionada a esta, y el tercer valor es opcional y podemos pasarle otra columna donde el valor de este se utilizara como indice del valor anterior y sino lo informamos asumira el valor de null, para entender el concepto vamos a hacer un ejemplo y para ello deben crear un nuevo archivo con el nombre de array.php y le agregaremos el siguiente codigo:
array.php
<?php
$registro = array(
array(
'id' => 2210,
'nombre' => 'Martin',
'apellido' => 'Miranda'
),
array(
'id' => 3323,
'nombre' => 'Enzo',
'apellido' => 'Tortore'
),
array(
'id' => 4190,
'nombre' => 'Ariel',
'apellido' => 'Polizzi'
),
array(
'id' => 5209,
'nombre' => 'Raul',
'apellido' => 'Picos'
),
);
$nombres = array_column($registro, 'nombre');
foreach($nombres as $nombre)
print $nombre . "\n";
?>
Primero crearemos un array donde contendra otros arrays que almacenaran tres valores con la misma clave, esto es considerado como columna, donde si bien las columnas son iguales en todos los arrays los valores si son distintos, despues definiremos una nueva variable donde almacenaremos el resultado de aplicar la funcion sobre el array anterior y especificmos la columna de la cual tomaremos los datos, por ultimo mostraremos los valores del nuevo array, veamos como es su salida:
$ php array.php
Martin
Enzo
Ariel
Raul
$
Como pueden ver solo nos devolvio los valores de la columna, ahora tomaremos el codigo anterior y lo modificaremos de la siguiente manera:
<?php
$registro = array(
array(
'id' => 2210,
'nombre' => 'Martin',
'apellido' => 'Miranda'
),
array(
'id' => 3323,
'nombre' => 'Enzo',
'apellido' => 'Tortore'
),
array(
'id' => 4190,
'nombre' => 'Ariel',
'apellido' => 'Polizzi'
),
array(
'id' => 5209,
'nombre' => 'Raul',
'apellido' => 'Picos'
),
);
$nombres = array_column($registro, 'nombre','id');
foreach($nombres as $clave => $valor)
print "[$clave] => " . $valor . "\n";
?>
El array sigue siendo el mismo pero ahora en la funcion agregamos la columna que usaremos como clave, para este caso sera id, y la siguiente modificacion sera en el bucle foreach donde ahora obtendremos tanto las claves nuevas como los valores relacionados y lo mostraremos en cada pasada, con todo esto comentado pasemos a ver como es la nueva salida:
$ php array.php
[2210] => Martin
[3323] => Enzo
[4190] => Ariel
[5209] => Raul
$
Como pueden ver ahora no solo tendremos el valor de la columna sino que el valor de la columna usada como indice pasara a ser la clave de este valor, como pueden ver da una posibilidad de mejorar notablemente como almacenar este valor.
En resumen, hoy hemos visto array_column, que es, para que sirve, como se utiliza y un ejemplo practico para ver como funciona con sus distintas opciones, espero les haya sido de utilidad sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.


Donación
Es para mantenimento del sitio, gracias!
$1.50
