(PHP 5 >= 5.5.0, PHP 7)
array_column — Devuelve los valores de una sola columna del array de entrada
   array_column() devuelve los valores de una sola columna de
   input, identificado por la clave de columna
   column_key. Opcionalmente, se
   podría proporcionar una clave de índice, index_key,
   para indexar los valores del array devuelto por los valores de la columna
   index_key del array de entrada.
  
inputUn array multidimensional o un array de objetos desde el que extraer una columna de valores. Si se proporciona un array de objetos, entonces se podrá extraer directamente las propiedades públicas. Para poder extraer las proiedades protegidas o privadas, la clase debe implementar los métodos mágicos __get() y __isset().
column_key
       La columna de valores a devolver. Este valor podría ser una clave de tipo integer de la
       columna de la cual obtener los datos, o podría ser una clave de tipo string para un
       array asociativo o nombre de propiedad. También prodría ser NULL para devolver
       array completos u objetos (útil junto con
       index_key para reindexar el array).
      
index_keyLa columna a usar como los índices/claves para el array devuelto. 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. El valor es cast como es habitual para las claves de array (Sin embargo, también se permiten los objetos que soportan la conversión a string).
Devuelve un array de valores que representa una sola columna del array de entrada.
| Versión | Descripción | 
|---|---|
| 7.0.0 | Se añadió la capacidad de que el parámetro inputsea
        un array de objetos. | 
Ejemplo #1 Obtener la columna de nombres del conjunto de resultados
<?php
// Array representando un conjunto de registros posibles devueltos desde una base de datos
$registros = array(
    array(
        'id' => 2135,
        'nombre' => 'John',
        'apellido' => 'Doe',
    ),
    array(
        'id' => 3245,
        'nombre' => 'Sally',
        'apellido' => 'Smith',
    ),
    array(
        'id' => 5342,
        'nombre' => 'Jane',
        'apellido' => 'Jones',
    ),
    array(
        'id' => 5623,
        'nombre' => 'Peter',
        'apellido' => 'Doe',
    )
);
 
$nombres = array_column($registros, 'nombre');
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 del conjunto de resultados, indexada por la columna "id"
<?php
// Se emplea el array $registros del Ejemplo #1
$apellidos = array_column($registros, 'apellido', 'id');
print_r($apellidos);
?>
El resultado del ejemplo sería:
Array
(
    [2135] => Doe
    [3245] => Smith
    [5342] => Jones
    [5623] => Doe
)
Ejemplo #3 Obtener la columna de nombres de usuarios de la propiedad pública "nombre_usuario" de un objeto
<?php
class Usuario
{
    public $nombre_usuario;
    public function __construct(string $nombre_usuario)
    {
        $this->nombre_usuario = $nombre_usuario;
    }
}
$usuarios = [
    new Usuario('usuario 1'),
    new Usuario('usuario 2'),
    new Usuario('usuario 3'),
];
print_r(array_column($usuarios, 'nombre_usuario'));
?>
El resultado del ejemplo sería:
Array
(
    [0] => usuario 1
    [1] => usuario 2
    [2] => usuario 3
)
Ejemplo #4 Obtener la columna de nombres de la propiedad privada "nombre" de un objeto empleando el método mágico __get().
<?php
class Persona
{
    private $name;
    public function __construct(string $nombre)
    {
        $this->nombre = $nombre;
    }
    public function __get($prop)
    {
        return $this->$prop;
    }
    public function __isset($prop) : bool
    {
        return isset($this->$prop);
    }
}
$gente = [
    new Persona('Fred'),
    new Persona('Jane'),
    new Persona('John'),
];
print_r(array_column($gente, 'nombre'));
?>
El resultado del ejemplo sería:
Array
(
    [0] => Fred
    [1] => Jane
    [2] => John
)