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.
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