Wie ein mehrdimensionales Array in PHP zu spalten?
-
08-07-2019 - |
Frage
Wie kann ich ein mehrdimensionales Array, wie die unten, und spaltete es in mehrere separate Arrays? Zusätzliche Herausforderung: Obwohl ich weiß, gibt es zwei Paare im Beispiel unten (Seitenaufrufe, Besuche), wie können Sie es tun, vorausgesetzt, dass Sie nicht über die Anzahl der Paare in der Gruppe wissen? Zum Beispiel kann ich will „Zeit auf der Seite“ hinzufügen oder „besuchten Seiten“ und damit eine beliebige Anzahl von Paaren haben könnte.
Mein Ziel, am Ende wäre einen Array haben wie: "26, 9, 18" und ein weiteres Array "20, 4, 9"
Ich habe ein Array wie folgt bekommen:
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 ) )
ich der folgende Code funktionieren würde, hätte gedacht, aber nicht den spezifischen Wert bekommen, was ich will, und aus irgendeinem seltsamen Grunde, es schneidet jeden Wert auf ein Zeichen:
$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"]; } }
Lösung
Ihr Array ist nicht so tief, wie Sie denken:
$pageViews = array();
$visits = array();
foreach ($google_lastMonth as $value) {
$pageViews[] = $value["ga:pageviews"];
$visits[] = $value["ga:visits"];
}
Andere Tipps
Ich denke
Sie sollten die Klammer auf Besuch verwenden
Ok mein schlechtes sollte, dass sein
$pageViews = array();
$visits = array();
foreach ($result as $value) {
$pageViews[] = $value['ga:pageviews'];
$visits[] = $value['ga:visits'];
}