Como dividir uma matriz multidimensional em PHP?
-
08-07-2019 - |
Pergunta
Como posso ter um array multi-dimensional como a abaixo, e dividi-lo em várias matrizes separadas? desafio adicional: Embora eu sei que existem dois pares no exemplo abaixo (pageviews, visitas), como você pode fazê-lo assumindo que você não sabe o número de pares na matriz? Por exemplo, eu pode querer adicionar "tempo na página" ou "páginas visitadas", e poderia, portanto, ter qualquer número de pares.
Meu objetivo, no final, seria ter uma matriz como: "26, 9, 18" e outra matriz "20, 4, 9"
.Eu tenho uma matriz como este:
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 ) )
Eu teria pensado que o código abaixo iria funcionar, mas não obter o valor específico que eu quero, e por algum motivo estranho, ele corta cada valor para um caractere:
$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"]; } }
Solução
Sua matriz não é tão profundo como você pensa:
$pageViews = array();
$visits = array();
foreach ($google_lastMonth as $value) {
$pageViews[] = $value["ga:pageviews"];
$visits[] = $value["ga:visits"];
}
Outras dicas
Eu acho
você deve usar o suporte na visita ??p>
Ok meu mau deve ser que
$pageViews = array();
$visits = array();
foreach ($result as $value) {
$pageViews[] = $value['ga:pageviews'];
$visits[] = $value['ga:visits'];
}