¿Cómo dividir una matriz multidimensional en PHP?
-
08-07-2019 - |
Pregunta
¿Cómo puedo tomar una matriz multidimensional como la siguiente y dividirla en múltiples matrices separadas? Reto adicional: aunque sé que hay dos pares en el ejemplo a continuación (páginas vistas, visitas), ¿cómo puede hacerlo suponiendo que no conoce el número de pares en la matriz? Por ejemplo, es posible que desee agregar "tiempo en la página" o "páginas visitadas" y, por lo tanto, podrían tener cualquier número de pares.
Mi objetivo, al final, sería tener una matriz como: "26, 9, 18". y otro conjunto "20, 4, 9".
Tengo una matriz como esta:
Array ( [20090817] => Array ( [ga:pageviews] => 26 [ga:visits] => 20 ) [20090818] => Array ( [ga:pageviews] => 9 [ga:visits] => 4 ) [20090819] => Array ( [ga:pageviews] => 18 [ga:visits] => 9 ) )
Pensé que el siguiente código funcionaría, pero no obtiene el valor específico que quiero y, por alguna extraña razón, recorta cada valor a un carácter:
$pageViews = array(); $visits[] = array(); foreach ($google_lastMonth as $value) { foreach ($value as $nested_key => $nested_value) { $pageViews[] = $nested_value["ga:pageviews"]; $visits[] = $nested_value["ga:visits"]; } }
Solución
Su matriz no es tan profunda como cree:
$pageViews = array();
$visits = array();
foreach ($google_lastMonth as $value) {
$pageViews[] = $value["ga:pageviews"];
$visits[] = $value["ga:visits"];
}
Otros consejos
Creo
debe usar el soporte en la visita
Ok, lo malo debería ser eso
$pageViews = array();
$visits = array();
foreach ($result as $value) {
$pageViews[] = $value['ga:pageviews'];
$visits[] = $value['ga:visits'];
}