"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como extrair uma coluna de propriedades de um array de objetos em PHP?

Como extrair uma coluna de propriedades de um array de objetos em PHP?

Publicado em 2024-11-06
Navegar:661

How to Extract a Column of Properties from an Array of Objects in PHP?

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.

Declaração de lançamento Este artigo é reproduzido em: 1729386019 Se houver alguma violação, entre em contato com [email protected] para excluí -lo.
Tutorial mais recente Mais>

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