PHP: Extraia eficientemente uma coluna de propriedades de um array de objetos
Muitos cenários de programação envolvem trabalhar com arrays de objetos, onde cada objeto pode ter múltiplas propriedades. Ocasionalmente, é necessário extrair uma propriedade específica de cada objeto para formar um array separado. Em PHP, atingir esse objetivo em uma única linha, sem recorrer a loops ou funções externas, pode ser complicado.
Uma abordagem potencial é utilizar a função array_walk() junto com create_function. No entanto, uma solução mais simples e elegante está disponível no PHP 7.0 e posterior.
array_column() para o Rescue
A função array_column() foi introduzida no PHP 7.0 e permite extrair uma coluna específica de dados de uma matriz de matrizes ou matrizes de objetos. Basta passar seu array de objetos como primeiro parâmetro e o nome da propriedade desejada como segundo parâmetro:
$idCats = array_column($cats, 'id');
Neste exemplo, a variável $idCats agora conterá uma matriz dos IDs de todos os objetos gatos.
Nota para versões do PHP anteriores a 7.0
Se você estiver usando uma versão PHP anterior à 7.0, você ainda pode usar a função array_map():
$idCats = array_map(function($cat) { return $cat->id; }, $cats);
Embora este método seja um pouco mais detalhado, ele alcança o mesmo resultado.
Aproveitando array_column() ou array_map(), você pode extrair com eficiência uma coluna de propriedades de uma matriz de objetos em PHP, permitindo agilizar seu código e melhorar o desempenho.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3