PHP 5.6.0 released

array_column

(PHP 5 >= 5.5.0)

array_columnDevuelve los valores de una única columna del array de entrada

Descripción

array array_column ( array $array , mixed $column_key [, mixed $index_key = null ] )

array_column() devuelve los valores de una única columna del array, identificado por la clave de columna dada por column_key. Opcionalmente, se podría proporcionar una clave de índice dada por index_key para indexar los valores del array devuelto por los valores desde la columna index_key en el array de entrada.

Parámetros

array

Un array multidimensional (conjunto de registros) desde el que obtener una columna de valores.

column_key

La columna de valores a devolver. Este valor podría ser la clave de tipo integer de la columna de la que se quieren obtener datos, o podría ser la clave de tipo string para un array asociativo. También prodría ser NULL para devolver array completos (útil junto con index_key para reindexar el array).

index_key

La columna a usar como los índices/claves para el array devulto. Este valor podría ser la clave de tipo integer de la columna, o podría ser el nombre de la clave de tipo string.

Valores devueltos

Devuelve un array de valores que representa una única columna desde el array de entrada.

Ejemplos

Ejemplo #1 Obtener la columna de nombres de pila desde el conjunto de resultados

<?php
// Array representando un conjunto de registros posibles devueltos desde una base de datos
$registros = array(
    array(
        
'id' => 2135,
        
'first_name' => 'John',
        
'last_name' => 'Doe',
    ),
    array(
        
'id' => 3245,
        
'first_name' => 'Sally',
        
'last_name' => 'Smith',
    ),
    array(
        
'id' => 5342,
        
'first_name' => 'Jane',
        
'last_name' => 'Jones',
    ),
    array(
        
'id' => 5623,
        
'first_name' => 'Peter',
        
'last_name' => 'Doe',
    )
);
 
$nombres array_column($registros'first_name');
print_r($nombres);
?>

El resultado del ejemplo sería:

Array
(
    [0] => John
    [1] => Sally
    [2] => Jane
    [3] => Peter
)

Ejemplo #2 Obtener la columna de apellidos desde el conjunto de resultados, indexada por la columna "id"

<?php
// Usar el array the $registros del Ejemplo #1
$apellidos array_column($registros'last_name''id');
print_r($apellidos);
?>

El resultado del ejemplo sería:

Array
(
    [2135] => Doe
    [3245] => Smith
    [5342] => Jones
    [5623] => Doe
)

add a note add a note

User Contributed Notes 1 note

up
0
WARrior
10 months ago
You can also use array_map fucntion if you haven't array_column().

example:

$a = array(
    array(
        'id' => 2135,
        'first_name' => 'John',
        'last_name' => 'Doe',
    ),
    array(
        'id' => 3245,
        'first_name' => 'Sally',
        'last_name' => 'Smith',
    )
);

array_column($a, 'last_name');

becomes

array_map(function($element){return $element['last_name']}, $a)
To Top