Reordenación de datos en columnas multidimensionales en una estructura basada en filas
Dada una matriz asociativa con datos orientados a columnas, la tarea es transponerla a una matriz multidimensional que consta de filas. Los datos de la matriz original están organizados por columnas y el objetivo es fusionar los valores de la misma columna en filas.
Matriz original:
$where = [ 'id' => [ 12, 13, 14 ], 'date' => [ '1999-06-12', '2000-03-21', '2006-09-31' ] ];
Salida deseada:
$comb = [ [12, '1999-06-12'], [13, '2000-03-21'], [14, '2006-09-31'] ];
Solución:
Una forma efectiva de lograr esta reestructuración de datos es iterar a través de los valores de cada columna usando un bucle y combinarlos en una matriz para cada fila. Aquí hay un ejemplo:
$result = [];
foreach ($where['id'] as $key => $id) {
$result[] = [$id, $where['date'][$key]];
}
array_column() Enfoque:
Una alternativa elegante a la solución basada en bucles es utilizar la función array_column(), que extrae una columna específica de un análisis multidimensional. matriz.
$result = [];
foreach ($where['id'] as $key => $id) {
$result[] = array_column($where, $key);
}
La función array_column() devuelve la columna especificada como una matriz, que luego se puede combinar con los valores de la fila correspondiente.
Salida:
Ambas soluciones producirán el resultado deseado:
[ [12, '1999-06-12'], [13, '2000-03-21'], [14, '2006-09-31'] ]
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