array_columnRetorna os valores de uma coluna do array informado
&reftitle.description;
arrayarray_columnarrayarrayintstringnullcolumn_keyintstringnullindex_key&null;
A função array_column retorna os valores de uma coluna do
array informado, indentificada pelo
column_key. Opcionalmente, uma
index_key pode ser informada para indexar os valores do
array retornado pelos valores da coluna index_key
do array.
&reftitle.parameters;
array
Um array multidimensional ou um array de objetos que se deseja extrair os
valores da coluna. Se um array de objetos for fornecido, propriedades
públicas podem ser extraídas diretamente. Para extrair propriedades
protegidas e privadas, a classe deve implementar ambos os métodos mágicos
__get e
__isset.
column_key
A coluna de valores a ser retornada. Este valor pode ser uma chave inteira da
coluna que se deseja recuperar, ou uma uma string com o nome da chave de um
array associativo ou nome de propriedade. Também pode ser &null; para retornar
arrays completos ou objetos (isso é útil com o parâmetro
index_key, para reindexar o array).
index_key
A coluna a ser utilizada como índices/chaves do array retornado. Este valor
pode ser uma chave inteira da coluna, ou uma uma string com o nome da chave.
O valor é convertido
como de costume para chaves de array (no entanto, antes do PHP 8.0.0, objetos que suportam
conversão para string também eram permitidos).
&reftitle.returnvalues;
Retorna um array com os valores que representam uma coluna do array informado.
&reftitle.changelog;
&Version;&Description;8.0.0
Objetos em colunas indicadas pelo parâmetro index_key
não serão mais convertidos em string e agora irão lançar um TypeError em vez disso.
&reftitle.examples;
Obtém a coluna first_name dos registros
2135,
'first_name' => 'John',
'last_name' => 'Doe',
],
[
'id' => 3245,
'first_name' => 'Sally',
'last_name' => 'Smith',
],
[
'id' => 5342,
'first_name' => 'Jane',
'last_name' => 'Jones',
],
[
'id' => 5623,
'first_name' => 'Peter',
'last_name' => 'Doe',
]
];
$first_names = array_column($records, 'first_name');
print_r($first_names);
?>
]]>
&example.outputs;
John
[1] => Sally
[2] => Jane
[3] => Peter
)
]]>
Obtém a coluna last_name dos registros, indexados pela coluna "id"
2135,
'first_name' => 'John',
'last_name' => 'Doe',
],
[
'id' => 3245,
'first_name' => 'Sally',
'last_name' => 'Smith',
],
[
'id' => 5342,
'first_name' => 'Jane',
'last_name' => 'Jones',
],
[
'id' => 5623,
'first_name' => 'Peter',
'last_name' => 'Doe',
]
];
$last_names = array_column($records, 'last_name', 'id');
print_r($last_names);
?>
]]>
&example.outputs;
Doe
[3245] => Smith
[5342] => Jones
[5623] => Doe
)
]]>
Obtém a coluna de nomes de usuários da propriedade pública "username" de um
objeto
username = $username;
}
}
$users = [
new User('user 1'),
new User('user 2'),
new User('user 3'),
];
print_r(array_column($users, 'username'));
?>
]]>
&example.outputs;
user 1
[1] => user 2
[2] => user 3
)
]]>
Obtém a coluna de nomes da propriedade privada "name" de um objeto
utilizando os métodos mágicos __isset e __get
name = $name;
}
public function __get($prop)
{
return $this->$prop;
}
public function __isset($prop) : bool
{
return isset($this->$prop);
}
}
$people = [
new Person('Fred'),
new Person('Jane'),
new Person('John'),
];
print_r(array_column($people, 'name'));
?>
]]>
&example.outputs;
Fred
[1] => Jane
[2] => John
)
]]>
Se o método __isset não for fornecido, um array vazio será
retornado.