У меня есть цикл foreach, который должен проходить через JSON и возвращать соответствующий идентификатор каждого видео, указанного в JSON, с помощью api Youtube. Вот мой код:Идентификаторы массива PHP foreach
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];
}
Проблема в том, толкающий массив работает правильно, но это только добавление 1-идентификатор в списке только для каждой итерации цикла, когда я эхо его. Когда я повторяю переменную $ id, она полностью выводит все идентификаторы.
В конечном счете, я хочу, чтобы иметь возможность создавать объект для каждого видео, сохраняя его идентификатор и другую информацию.
Я чувствую, что это простое исправление, но я не могу понять это для жизни меня. Буду признателен за любую помощь! Также, если я собираюсь все это неправильно, совет также оценен!
Спасибо!
'echo $ vidArray [0];' только echos первый элемент. Попробуйте 'print_r ($ vidArray);' – AbraCadaver