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"];
    }
}
È stato utile?

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'];
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top