"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 recuperar com eficiência pares de valores-chave em uma matriz associativa com PDO FetchAll?

Como recuperar com eficiência pares de valores-chave em uma matriz associativa com PDO FetchAll?

Publicado em 31/10/2024
Navegar:903

How to Efficiently Retrieve Key-Value Pairs into an Associative Array with PDO FetchAll?

PDO FetchAll: agrupar pares de valores-chave em uma matriz associativa

Em consultas de banco de dados que retornam pares de valores-chave, geralmente é conveniente para recuperar os dados como uma matriz associativa, com os valores mapeados para suas respectivas chaves. Embora existam métodos comuns para conseguir isso, como usar fetchAll(PDO::FETCH_ASSOC) seguido de iteração manual para criar o array, essa abordagem pode ser complicada.

Uma solução alternativa, projetada especificamente para esse propósito, é usar a opção fetchAll(PDO::FETCH_KEY_PAIR). Este método cria automaticamente uma matriz associativa com os resultados da consulta, mapeando a primeira coluna para as chaves e a segunda coluna para os valores.

Para demonstrar isso, considere uma consulta que recupera colunas de nome e valor da tabela de configurações :

$q = $db->query("SELECT `name`, `value` FROM `settings`;");
$r  = $q->fetchAll(PDO::FETCH_KEY_PAIR);

Neste caso, se o banco de dados contivesse linhas como ('first_name', 'Tom') e ('last_name', 'Jeferson') , o array $r resultante seria:

Array(
    'first_name' => 'Tom',
    'last_name'  => 'Jeferson'
)

Este método fornece uma maneira direta e eficiente de recuperar pares de valores-chave em uma matriz associativa, eliminando a necessidade de criação manual de matriz. É suportado por versões modernas de PHP e alguns bancos de dados populares como PostgreSQL.

Declaração de lançamento Este artigo foi reimpresso em: 1729583957 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