Beste,

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?

[size=xsmall]Toevoeging op 29/05/2012 15:04:42:[/size]

Voor het ophalen dus dit:

$contents = file_get_contents("http://hummelsport.nl/stats/ga/example.php");


En nu $contents filteren.. Maar hoe?
Kun je example.php er niet zo laten uitzien?

684,862 .. enzovoorts

Je kunt dan met

<?php

$array = explode(',', $contents);

?>

de boel opblazen zodat je weer een array krijgt.
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.
Mark, als volgt:

<?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(); 
  }
?>



sterretjes op onze ID's en wachtwoorden.

[size=xsmall]Toevoeging op 29/05/2012 15:29:58:[/size]

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..

<?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();
  }
?>


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()
Dan heb ik dit als resultaat:

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?

[size=xsmall]Toevoeging op 29/05/2012 15:44:09:[/size]

echo $array[29];

heb het :)
Helaas heb je dan de verkeerde, het moet $array(28) zijn als je de gegevens van de 29ste wilt. Een standaard array begint namelijk bij 0 te tellen.

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 :)
<?php
$var = '684,862,763';
$array = explode(',', $var);
// let op dat de array-keys bij 0 (nul) beginnen
// dus dit geeft de tweede waarde
echo $array[1];
?>

Reageren