Función PHP array_column ()
Definición y uso
los array_column() La función devuelve los valores de una sola columna de la input matriz e identificado por el column_key.
Opcionalmente, puede pasar index_key para indexar los valores en la matriz devuelta por los valores de la index_key columna de la matriz de entrada.
Sintaxis
array array_column( array $input , mixed $column_key [, mixed $index_key = NULL ] )
Parámetros
No Señor | Descripción de parámetros |
---|---|
1 |
input (mandatory) Una matriz multidimensional o una matriz de objetos de la que extraer una columna de valores. |
2 |
column_key (mandatory) La columna de valores que se devolverá. Este valor puede ser una clave entera de la columna que desea recuperar, o puede ser un nombre de clave de cadena para una matriz asociativa o un nombre de propiedad. Este valor puede serNULL para devolver matrices u objetos completos |
3 |
index_key (optional) La columna que se utilizará como índice / claves para la matriz devuelta. Este valor puede ser la clave entera de la columna o puede ser el nombre de la clave de cadena. |
Valores devueltos
La función array_column devuelve una matriz de valores que representa una sola columna de la matriz de entrada.
Versión PHP
Esta función se introdujo por primera vez en PHP versión 5.5.0. La capacidad de que el parámetro de entrada sea una matriz de objetos se introdujo en 7.0.0
Ejemplo
Pruebe el siguiente ejemplo para obtener la columna de nombres de un conjunto de registros:
<?php
$records = array(
array(
'id' => 2135,
'first_name' => 'Zara',
'last_name' => 'Ali',
),
array(
'id' => 3245,
'first_name' => 'Nuha',
'last_name' => 'Mac',
),
array(
'id' => 5342,
'first_name' => 'Shifa',
'last_name' => 'Alam',
),
array(
'id' => 5623,
'first_name' => 'Riya',
'last_name' => 'Sweet',
)
);
$first_names = array_column($records, 'first_name');
print_r($first_names);
?>
Esto producirá el siguiente resultado:
Array
(
[0] => Zara
[1] => Nuha
[2] => Shifa
[3] => Riya
)
Ejemplo
Ahora intentemos un ejemplo más para obtener la columna de nombres de un conjunto de registros, pero esta vez indexaremos el conjunto de registros usando id -
<?php
$records = array(
array(
'id' => 2135,
'first_name' => 'Zara',
'last_name' => 'Ali',
),
array(
'id' => 3245,
'first_name' => 'Nuha',
'last_name' => 'Mac',
),
array(
'id' => 5342,
'first_name' => 'Shifa',
'last_name' => 'Alam',
),
array(
'id' => 5623,
'first_name' => 'Riya',
'last_name' => 'Sweet',
)
);
$first_names = array_column($records, 'first_name', 'id');
print_r($first_names);
?>
Esto producirá el siguiente resultado:
Array
(
[2135] => Zara
[3245] => Nuha
[5342] => Shifa
[5623] => Riya
)