Ich habe eine foreach-Schleife, die durch JSON durchlaufen und die entsprechende ID jedes in JSON aufgeführten Videos mit dem Youtube API zurückgeben soll. Hier ist mein Code:PHP foreach Array IDs
class Videos {
private $mVideoUrl;
function setVideoTitle($videoUrl){
$this->mVideoUrl= $videoUrl;
}
function getVideoTitle(){
return $this->mVideoUrl;
}
}
$jsonFile = file_get_contents($url);
$jfo = json_decode($jsonFile);
$items = $jfo->items;
$vidArray = array();
foreach ($items as $item){
if(!empty($item->id->videoId)){
$Videos = new Videos;
$Videos->setVideoUrl($item->id->videoId);
$id = $Videos->getVideoUrl();
array_push($vidArray, $id);
}
echo $vidArray[0];
}
Problem ist, wird das Array Push richtig funktioniert, aber es ist das Hinzufügen nur die erste ID in der Liste nur für jede Schleife Iteration, wenn ich es Echo. Wenn ich die Variable $ id zurückmelde, werden alle IDs korrekt ausgegeben.
Schließlich möchte ich in der Lage sein, ein Objekt für jedes Video zu erstellen, seine ID und andere Informationen zu speichern.
Ich fühle mich wie das ist eine einfache Lösung, aber ich kann es nicht für das Leben von mir herausfinden. Ich würde mich über jede Hilfe freuen! Auch wenn ich das alles falsch mache, wird Rat auch geschätzt!
Danke!
'echo $ vidArray [0];' nur Echos das erste Element. Probieren Sie 'print_r ($ vidArray);' – AbraCadaver