Filter array
Ik heb in een extern bestand een array gemaakt die ik wil filteren.
De array bestaat uit het aantal dagen van deze maand met daarbij statistieken:
http://hummelsport.nl/stats/ga/example.php
Uit deze array wil ik alleen de inhoud van deze dag weergeven, maar heb geen idee hoe ik een externe array van een site gebruik..
Iemand een idee?
Toevoeging op 29/05/2012 15:04:42:
Voor het ophalen dus dit:
En nu $contents filteren.. Maar hoe?
684,862 .. enzovoorts
Je kunt dan met
de boel opblazen zodat je weer een array krijgt.
Gewijzigd op 29/05/2012 15:12:56 door - Mark -
De array wordt opgemaakt van deze maand uit google analytics dus het aanpassen ervan is helaas niet mogelijk.. Deze stijl van een array kom je veel tegen maar het filteren ervan kan ik nergens vinden..
met een switch de juiste content echoen?
Hoe ziet example.php er dan uit? Ik heb nog nooit met Google analytics gewerkt maar het lijkt me stug dat je de weergave niet kunt aanpassen.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
require 'analytics.class.php';
try {
// construct the class
$oAnalytics = new analytics('******', '******');
// set it up to use caching
$oAnalytics->useCache();
$oAnalytics->setProfileById('ga:******');
$oAnalytics->setMonth(date('n'), date('Y'));
echo '<pre>';
// print out visitors for given period
print_r($oAnalytics->getVisitors());
} catch (Exception $e) {
echo 'Caught exception: ' . $e->getMessage();
}
?>
require 'analytics.class.php';
try {
// construct the class
$oAnalytics = new analytics('******', '******');
// set it up to use caching
$oAnalytics->useCache();
$oAnalytics->setProfileById('ga:******');
$oAnalytics->setMonth(date('n'), date('Y'));
echo '<pre>';
// print out visitors for given period
print_r($oAnalytics->getVisitors());
} catch (Exception $e) {
echo 'Caught exception: ' . $e->getMessage();
}
?>
sterretjes op onze ID's en wachtwoorden.
Toevoeging op 29/05/2012 15:29:58:
Maar het is dus niet mogelijk om deze array uit te lezen? Lijkt me stug toch... dit is een veel gebruikte vorm van Array's in de output..
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
require 'analytics.class.php';
try {
// construct the class
$oAnalytics = new analytics('******', '******');
// set it up to use caching
$oAnalytics->useCache();
$oAnalytics->setProfileById('ga:******');
$oAnalytics->setMonth(date('n'), date('Y'));
// print out visitors for given period
echo implode(',', $oAnalytics->getVisitors());
} catch (Exception $e) {
echo 'Caught exception: ' . $e->getMessage();
}
?>
require 'analytics.class.php';
try {
// construct the class
$oAnalytics = new analytics('******', '******');
// set it up to use caching
$oAnalytics->useCache();
$oAnalytics->setProfileById('ga:******');
$oAnalytics->setMonth(date('n'), date('Y'));
// print out visitors for given period
echo implode(',', $oAnalytics->getVisitors());
} catch (Exception $e) {
echo 'Caught exception: ' . $e->getMessage();
}
?>
Dat wat ik eerder zij zal dan moeten werken. Het enige dat je op example.php doet is de array netjes weergeven. De array zelf is $oAnalytics->getVisitors()
684,862,763,811,628,1003,893,857,846,771,750,604,646,801,776,750,638,666,490,653,780,658,605,565,554,438,528,605,299,0,0
Hoe pak ik hieruit dan (bijvoorbeeld vandaag de 29ste) bijv. de 29ste entry?
Toevoeging op 29/05/2012 15:44:09:
echo $array[29];
heb het :)
De sleutels van de originele array worden niet weergeven zoals ze waren, door implode zijn deze overgeschreven.
Heb inderdaad een extra entry vooraan geplakt handmatig om dat te fixen :)
Joran den Houting op 29/05/2012 16:02:46:
Heb inderdaad een extra entry vooraan geplakt handmatig om dat te fixen :)
Niet doen.
Het kost misschien enige moeite en tijd om eraan te wennen dat een array bij 0 begint, maar als je nu een niet-zo-slimme manier gaat bedenken om dat te fixen, dan ga je daar later absoluut nog vaak mee onderuit. Alles begint namelijk bij 0 te tellen in dit soort dingen.
Wat Erwin zegt klopt inderdaad. Het is beter het gewoon te laten voor wat het is. Als jij de 29ste entry van de array nodig hebt kun je ook $array[index+1] opvragen :)