"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo agrupar matrices asociativas por valores de columna utilizando PDO?

¿Cómo agrupar matrices asociativas por valores de columna utilizando PDO?

Publicado el 2024-11-14
Navegar:150

How to Group Associative Arrays by Column Values Using PDO?

DOP: agrupar matrices asociativas por valores de columna

Agrupar datos por valores de columna específicos puede ser útil para organizar y manipular conjuntos de datos. Esta pregunta explora una manera de lograr esto utilizando el método fetchAll de PDO.

El ejemplo proporcionado muestra un conjunto de datos de empleados con columnas como nombre, edad, sexo y puesto. El objetivo es obtener una matriz asociativa agrupada por la columna de nombre, lo que da como resultado una estructura de matriz como:

[
  'Antony' => ['age' => 34, 'sex' => 'M', 'position' => 'programmer'],
  'Sally' => ['age' => 30, 'sex' => 'F', 'position' => 'manager'],
  'Matthew' => ['age' => 28, 'sex' => 'M', 'position' => 'designer'],
]

El enfoque inicial que utiliza PDO::FETCH_GROUP|PDO::FETCH_ASSOC introduce niveles no deseados de anidamiento. Para resolver esto, la pregunta sugiere usar una función de devolución de llamada con PDO::FETCH_GROUP|PDO::FETCH_ASSOC|PDO::FETCH_FUNC. Sin embargo, encuentra problemas con la función de devolución de llamada que recibe elementos individuales en lugar de matrices.

La solución a este problema es usar PDO::FETCH_GROUP|\PDO::FETCH_UNIQUE. Este enfoque designa la primera columna como clave de la matriz y establece las columnas restantes como valores, lo que produce la matriz asociativa agrupada deseada sin anidamiento ni manipulación innecesaria de la matriz.

Declaración de liberación Este artículo se reproduce en: 1729553838 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3