Inicio > PHP > Obtener columna de un array multidimensional

OBTENER COLUMNA DE UN ARRAY MULTIDIMENSIONAL

24/11/2017PHP

 

Cuando tenemos un array multidimensional en php puede que solo nos interese una sola columna de dicho array. Para obtener la columna que nos interesa de un array multidimensional hay que usar la función array_column. A continuación voy a poner un ejemplo para entender su uso:

// Array obtenidos de una base de datos
$contactos = array(
array(
'id' => 155,
'nombre' => 'Juan',
'apellido' => 'Pérez',
),
array(
'id' => 345,
'nombre' => 'David',
'apellido' => 'Pérez',
),
array(
'id' => 532,
'nombre' => 'Ana',
'apellido' => 'Pérez',
),
array(
'id' => 563,
'nombre' => 'Silvia',
'apellido' => 'Pérez',
)
);
$nombres = array_column($registros, 'nombre');
Array
(
[0] => Juan
[1] => David
[2] => Ana
[3] => Silvia
)
$nombres = array_column($registros, 'nombre','id');
Array
(
[155] => Juan
[345] => David
[532] => Ana
[563] => Silvia
)


Como se puede ver en el ejemplo anterior tenemos un array multidimensional con tres campos y hemos usado la función array_column con el parámetro 'nombre' que nos ha devuelto un array con los valores del campo 'nombre'. En el último ejemplo se llama a la misma función con el mismo array y el mismo campo pero se ha añadido otro parámeto, 'id'. Este último parámetro le indica a la función array_column que campo del array se usará como índice en el aray devuelto.