array_columnDevuelve los valores de una sola columna del array de entrada
&reftitle.description;
arrayarray_columnarrayinputmixedcolumn_keymixedindex_key&null;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.
&reftitle.parameters;
input
Un 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_key
La 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).
&reftitle.returnvalues;
Devuelve un array de valores que representa una sola columna del array de entrada.
&reftitle.changelog;
&Version;&Description;7.0.0
Se añadió la capacidad de que el parámetro input sea
un array de objetos.
&reftitle.examples;
Obtener la columna de nombres del conjunto de resultados
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);
?>
]]>
&example.outputs;
John
[1] => Sally
[2] => Jane
[3] => Peter
)
]]>
Obtener la columna de apellidos del conjunto de resultados, indexada por la columna "id"
]]>
&example.outputs;
Doe
[3245] => Smith
[5342] => Jones
[5623] => Doe
)
]]>
Obtener la columna de nombres de usuarios de la propiedad pública "nombre_usuario" de un
objeto
nombre_usuario = $nombre_usuario;
}
}
$usuarios = [
new Usuario('usuario 1'),
new Usuario('usuario 2'),
new Usuario('usuario 3'),
];
print_r(array_column($usuarios, 'nombre_usuario'));
?>
]]>
&example.outputs;
usuario 1
[1] => usuario 2
[2] => usuario 3
)
]]>
Obtener la columna de nombres de la propiedad privada "nombre" de un objeto
empleando el método mágico __get.
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'));
?>
]]>
&example.outputs;
Fred
[1] => Jane
[2] => John
)
]]>
Si no se proporciona __isset, será devuelto un array
vacío.
&reftitle.seealso;
Implementación
del espacio de usuario recomendada para PHP menor que 5.5