Ik ben beginnend php'er en enthousiasteling, en probeer momenteel een script te maken dat het aantal videoviews van een aantal YouTube video's optelt en uiteindelijk als JSON file wegschrijft.
Wat ik nu heb begint te werken, maar de loop doet nog niet wat ik wil.
Wat er nu is:
<?php
$api_key = 'xxxxx';
stream_context_set_default(['http' => ['ignore_errors' => true]]);
$youtube = array(
"Aflevering 1" => array("i4YQo5iiEWA","etVDzpVFJvE","SpgKZnxmobQ","j2R-2C15q-Y","WaTXz9rYYp4"),
"Aflevering 2" => array("89PEH2BPlRE","achDU_HZ2Do","zvHxXPXHt6Q","O5C0GSIAJeU","hEE8qNcbGn0"),
"Aflevering 3" => array("Aq08WIlmkHY","Jvh1aNmQso4","8SiVe9cOh48","r4ackhwW62A","sFHysj3pqj8"),
"Aflevering 4" => array("0qx1eIxOdNc","djJUOBJqHSI","pvWLxcebr5M","OaIInj0RZ5M","eRguBy5Ux-0"),
"Aflevering 5" => array("tnHyrsos5Rw","yfNWFAziJic","Ug4qs7d5B5E","qLaKrjBuYGA","azQgWmXUbuM"),
"Aflevering 6" => array("rPlLTJkS_ow","EAOHeUjgR0Q","OjC3ScZtA7s","kmbfEfOrsrs","HsnI_NuCvJc"),
"Aflevering 7" => array("CI3UF2UfQ-s","XMJ9tWYEtLk","EBuWmb5s3_E","i_4z6szdPOg","X9jwpIMUYlU"),
"Aflevering 8" => array("B12-71E8Bus","8BTHU4Zbgso","o4wlwXFtz3s","jyplFCJTyrQ","kXTjuXwctVs"),
"Aflevering 9" => array("zs6qW0kvnI8","64WWtaBPaps","CxwptyE7J4A","13IUwg3CMdk","nii5lLJ3-cM"),
"Aflevering 10" => array("OEuGFez7bxg","cf67BukebyE","OGib0s8sp5c"),
"Aflevering 11" => array("TVvKklHqJNk","-Z1GP5Ey6Kc","rxMAgU0p-s8","J-pv1U7ib2o","BwRz3dluvMQ"),
"Aflevering 12" => array("VkIqLwvYj3k","3qKpfTq9v0E","EBywQf2mr5Q","D9h1PC3CLAg","Xn24-p4GewY"),
"Aflevering 13" => array("ceCjhE2GHLo","KO97J7msQko","PzHopifTiGE","iJF0FzZ8UUs","lknDWsh71gY"),
"Aflevering 14" => array("KW508H54dXw","OEkczQ5G3tY","ZQu7cgZfAEA","GnQap8jCo90","FeyVGvKuRQg"),
"Aflevering 15" => array("FIjK3Obpy5A","uuq1VrIxT_I","AKXuQOA89QI","erpceDVsEAY","R2-hFSvWifc"),
"Aflevering 16" => array("VrrxoL7Oods","e3kN6Ii5qQg","-LfXGyCOFAQ","tmqUyAQTHX0","vEwk1EulzAo","cfSzn85fPoE"),
"Aflevering 17" => array("AUT9O9btXu8","SDrMoTGQ95Y","YJPqZyKeFQY","w0TXYSWZeMc","zGkgezLErfM")
);
foreach($youtube as $key => $values){
$sum=0;
foreach ($values as $value) {
$jsonURL = file_get_contents("https://www.googleapis.com/youtube/v3/videos?id={$value}&key={$api_key}&part=statistics");
$json = json_decode($jsonURL);
$views = $json->{'items'}[0]->{'statistics'}->{'viewCount'};
$sum+= $views;
$emparray[$key] = $sum;
}
$output[] = $emparray;
}
//write to json file
$fp = fopen('test_json.json', 'w');
fwrite($fp, json_encode($output));
fclose($fp);
?>
Wat er nu in de JSON terecht komt is bijna goed, ware het niet dat de loop iedere keer vanaf het begin weer start:
[{"Aflevering 1":41354},{"Aflevering 1":41354,"Aflevering 2":37861},{"Aflevering 1":41354,"Aflevering 2":37861,"Aflevering 3":49733},{"Aflevering 1":41354,"Aflevering 2":37861,"Aflevering 3":49733,"Aflevering 4":27348},{"Aflevering 1":41354,"Aflevering 2":37861,"Aflevering 3":49733,"Aflevering 4":27348,"Aflevering 5":21565},{"Aflevering 1":41354,"Aflevering 2":37861,"Aflevering 3":49733,"Aflevering 4":27348,"Aflevering 5":21565,"Aflevering 6":19479},{"Aflevering 1":41354, etc.. etc..
Wat ik graag zou hebben is:
[{"Aflevering 1":41354},{"Aflevering 2":37861},{"Aflevering 3":49733},{"Aflevering 4":27348},{"Aflevering 5":21565}, etc.. etc..
Wat doe ik fout? Of zit ik helemaal in de verkeerde richting?
993 views