PHP | función array_column()

array_column() es una función incorporada en PHP y se usa para devolver los valores de una sola columna en la array de entrada. 

Sintaxis: 

array array_column($input_array, $column_number, $index_key);

Parámetros
De los tres parámetros, dos son obligatorios y uno es opcional. Veamos los parámetros. 

  1. $input_array (obligatorio): este parámetro hace referencia a la array multidimensional original de la que queremos extraer todos los valores de una columna en particular.
  2. $column_number (obligatorio): este parámetro hace referencia a la columna de valores que se necesita devolver. Este valor puede ser una clave entera de la columna, o puede ser un nombre de clave de string para una array asociativa o un nombre de propiedad. También puede ser NULL para devolver arrays u objetos completos.
  3. $index_key (opcional): este es un parámetro opcional y hace referencia a la columna que se usará como índice/claves para la array devuelta en la salida. Este valor puede ser la clave entera de la columna o puede ser el nombre de la clave de string.

Tipo de retorno : como se muestra en la sintaxis, el tipo de retorno de la función array_column() es array. Es decir, la función devuelve una array que contiene valores de una sola columna de la array de entrada, identificada por un column_number. Opcionalmente, también se puede proporcionar una clave_índice para indexar los valores en la array devuelta por los valores de la columna clave_índice de la array de entrada.

Ejemplos: 

Input : 
      array(
        array(
            'roll' => 5,
            'name' => 'Akash',
            'hobby' => 'Cricket',
        ),
        array(
            'roll' => 1,
            'name' => 'Rishav',
            'hobby' => 'Football',
        ),
        array(
            'roll' => 3,
            'name' => 'Anand',
            'hobby' => 'Chess',
        ),
      )
  
      $column_number = 'hobby'  ,   $index_key = 'roll'
Output : 
      Array
      (
         [5] => Cricket
         [1] => Football
         [3] => Chess
         [4] => Cards
         [2] => Basketball
      )

En el ejemplo anterior, la función array_column() se usa para obtener los valores de la columna con la clave como ‘nombre’ y estos valores en la array de salida se almacenan con claves que se toman de los valores de la clave ‘roll’ en la array original .

El siguiente programa ilustra array_column() con los tres parámetros:  

C++

<?php
// PHP code to illustrate the working of array_column
function Column($details){
    $rec = array_column($details, 'name', 'roll');
    return $rec;
}
 
// Driver Code
$details = array(
    array(
        'roll' => 5,
        'name' => 'Akash',
        'hobby' => 'Cricket',
    ),
    array(
        'roll' => 1,
        'name' => 'Rishav',
        'hobby' => 'Football',
    ),
    array(
        'roll' => 3,
        'name' => 'Anand',
        'hobby' => 'Chess',
    ),
    array(
        'roll' => 4,
        'name' => 'Gaurav',
        'hobby' => 'Cards',
    ),
    array(
        'roll' => 2,
        'name' => 'Rahim',
        'hobby' => 'Basketball',
    ),
);
print_r(Column($details));
?>

Producción: 

Array
(
    [5] => Akash
    [1] => Rishav
    [3] => Anand
    [4] => Gaurav
    [2] => Rahim
)

También podemos ignorar el tercer parámetro que es index_key. Luego, en este caso, la columna en la array de salida se indexará de manera lineal como se indica en la array. A continuación se muestra el programa PHP para ilustrar esto:  

C++

<?php
// PHP code to illustrate the working of array_column
function Column($details){
    $rec = array_column($details, 'hobby');
    return $rec;
}
 
// Driver Code
$details = array(
    array(
        'roll' => 5,
        'name' => 'Akash',
        'hobby' => 'Cricket',
    ),
    array(
        'roll' => 1,
        'name' => 'Rishav',
        'hobby' => 'Football',
    ),
    array(
        'roll' => 3,
        'name' => 'Anand',
        'hobby' => 'Chess',
    ),
    array(
        'roll' => 4,
        'name' => 'Gaurav',
        'hobby' => 'Cards',
    ),
    array(
        'roll' => 2,
        'name' => 'Rahim',
        'hobby' => 'Basketball',
    ),
);
print_r(Column($details));
?>

Producción: 

Array
(
    [0] => Cricket
    [1] => Football
    [2] => Chess
    [3] => Cards
    [4] => Basketball
)

Publicación traducida automáticamente

Artículo escrito por Chinmoy Lenka y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *