Função PHP array_column ()
Definição e Uso
o array_column() função retorna os valores de uma única coluna do input array e identificado pelo column_key.
Opcionalmente, você pode passar index_key para indexar os valores na matriz retornada pelos valores do index_key coluna da matriz de entrada.
Sintaxe
array array_column( array $input , mixed $column_key [, mixed $index_key = NULL ] )
Parâmetros
Sr. Não | Parâmetro e Descrição |
---|---|
1 | input (mandatory) Uma matriz multidimensional ou uma matriz de objetos dos quais extrair uma coluna de valores. |
2 | column_key (mandatory) A coluna de valores a ser retornada. Este valor pode ser uma chave inteira da coluna que você deseja recuperar, ou pode ser um nome de chave de string para um array associativo ou nome de propriedade. Este valor pode serNULL para retornar matrizes ou objetos completos |
3 | index_key (optional) A coluna a ser usada como índice / chaves para a matriz retornada. Este valor pode ser a chave inteira da coluna ou pode ser o nome da chave da string. |
Valores Retornados
A função array_column retorna uma matriz de valores que representam uma única coluna da matriz de entrada.
Versão PHP
Esta função foi introduzida pela primeira vez no PHP versão 5.5.0. A capacidade do parâmetro de entrada de ser uma matriz de objetos foi introduzida no 7.0.0
Exemplo
Experimente o exemplo a seguir para obter a coluna de nomes de um 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);
?>
Isso produzirá o seguinte resultado -
Array
(
[0] => Zara
[1] => Nuha
[2] => Shifa
[3] => Riya
)
Exemplo
Agora vamos tentar mais um exemplo para obter a coluna de primeiros nomes de um conjunto de registros, mas desta vez iremos indexar o 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);
?>
Isso produzirá o seguinte resultado -
Array
(
[2135] => Zara
[3245] => Nuha
[5342] => Shifa
[5623] => Riya
)