Come dividere un array multidimensionale in PHP?
-
08-07-2019 - |
Domanda
Come posso prendere un array multidimensionale come il seguente e dividerlo in più array separati? Ulteriore sfida: anche se so che ci sono due coppie nell'esempio seguente (visualizzazioni di pagina, visite), come puoi fare supponendo di non conoscere il numero di coppie nell'array? Ad esempio, potrei voler aggiungere "tempo sulla pagina" o "pagine visitate", e potrebbe quindi avere un numero qualsiasi di coppie.
Il mio obiettivo, alla fine, sarebbe quello di avere un array come: "26, 9, 18" e un altro array "20, 4, 9".
Ho un array come questo:
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 ) )
Avrei pensato che il codice seguente avrebbe funzionato, ma non ottiene il valore specifico che desidero, e per qualche strana ragione, ritaglia ogni valore a un carattere:
$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"]; } }
Soluzione
Il tuo array non è profondo come pensi:
$pageViews = array();
$visits = array();
foreach ($google_lastMonth as $value) {
$pageViews[] = $value["ga:pageviews"];
$visits[] = $value["ga:visits"];
}
Altri suggerimenti
Penso
dovresti usare la parentesi in visita
Ok il mio male dovrebbe essere quello
$pageViews = array();
$visits = array();
foreach ($result as $value) {
$pageViews[] = $value['ga:pageviews'];
$visits[] = $value['ga:visits'];
}