Я пытаюсь расшифровать API YouTube. Мне не нужно все, всего несколько штук, но у меня проблемы с массивом "items".
Мой код очень прост.
$url = file_get_contents("THIS IS MY YOUTUBE API ENDPOINT");
$json = json_decode($url, true);
Если я откликнусь эхом
echo $json['kind']."<p>".$json['etag']."<p>".$json['nextPageToken']."<p>";
echo $json['pageInfo']['totalResults']."<p>".$json['pageInfo']['resultsPerPage'];
Тогда я увидел бы:
Но мне нужна информация в ПРЕДМЕТЫ
Если я попробую print_r($json['items'][0]);
Затем я получаю ВСЮ информацию из элементов в виде массива, выплевываю вот так
Array ( [kind] => youtube#activity [etag] => "ZG3FIn5B5vcHjQiQ9nDOCWdxwWo/9bAEAi43B5b3tiYpW1BAPw2aZ54" [id] => VTE1MjQwOTM0MjI5NDIyNjY4MzQ2NjUxMg== [snippet] => Array ( [publishedAt] => 2018-04-18T23:17:02.000Z [channelId] => UC6TEaGms62zd11sdt_z1UAg [title] => AppyBuilder: Create a High Score Leaderboard with Wheel of Fortune [description] => TUTORIAL DIFFICULTY: Medium/Hard You should be able to follow along easily if you are able to find blocks by looking at a screenshot. This tutorial uses Fusion Table as the Database to store/retrieve user data. You are required to already have a basic knowledge of how Fusion Table works in order to complete this tutorial. VIDEO DESCRIPTION: This video builds off the Fusion Table tutorials. Giving you additional examples on how to easily check for a Username/Password in the Fusion Table (Screen1), how to update the user's Score with a Spinning Wheel Event (EVENT Screen) and how to view all user's high scores (LEADERBOARD Screen). The tutorial focuses on the Leaderboard Screen which shows you how to grab the necessary information from the Fusion Table and output that data using a Custom List View. The Custom List will show the user's avatar, username and high score in order from highest to lowest. VIDEO CHAPTERS: Introduction - 00:00 Getting Started - 00:13 Design View - 01:19 Blocks Editor - 03:32 Testing the App - 07:34 Wrap Up - 08:00 Pixii Bomb Squad - 09:48 AppyBuilder Community - 09:53 Goodbye - 10:00 DOWNLOAD PROJECT .aia FILE: http://community.appybuilder.com/t/high-score-leaderboard-using-fusion-table-as-the-database/8528 FACEBOOK PAGE: https://www.facebook.com/pixiibomb PATREON PAGE: https://www.patreon.com/pixiibomb AppyBuilder: http://appybuilder.com/ AppyBuilder Community: http://community.appybuilder.com/ FREE RESOURCES Although I do create a lot of my images, to save time in Tutorials or quick projects, I like to use a free resource sites. My favorites are: http://www.freepik.com/ http://www.flaticon.com/ [thumbnails] => Array ( [default] => Array ( [url] => https://i.ytimg.com/vi/xOCI9viNun8/default.jpg [width] => 120 [height] => 90 ) [medium] => Array ( [url] => https://i.ytimg.com/vi/xOCI9viNun8/mqdefault.jpg [width] => 320 [height] => 180 ) [high] => Array ( [url] => https://i.ytimg.com/vi/xOCI9viNun8/hqdefault.jpg [width] => 480 [height] => 360 ) [standard] => Array ( [url] => https://i.ytimg.com/vi/xOCI9viNun8/sddefault.jpg [width] => 640 [height] => 480 ) [maxres] => Array ( [url] => https://i.ytimg.com/vi/xOCI9viNun8/maxresdefault.jpg [width] => 1280 [height] => 720 ) ) [channelTitle] => Pixii Bomb [type] => upload ) [contentDetails] => Array ( [upload] => Array ( [videoId] => xOCI9viNun8 ) ) ) youtube#activity"ZG3FIn5B5vcHjQiQ9nDOCWdxwWo/9bAEAi43B5b3tiYpW1BAPw2aZ54"VTE1MjQwOTM0MjI5NDIyNjY4MzQ2NjUxMg==
Если я попробую foreach($json['items'][0] as $key=>$value){ echo $value; }
Потом получаю: Примечание: преобразование массива в строку <- Не то, что я хочу
Я хочу что-то вроде
echo $json['items']['snippet']['title'];
(Но, конечно, это не работает)
в массиве items иногда $value представляет собой массив или объект, в зависимости от того, как вы его json_decode. Об этом сообщает сообщение об ошибке. Вы можете попробовать что-то вроде элементов foreach, а затем получить доступ к фрагменту по своему усмотрению.






Похоже, вы просто ищете echo $json['items'][0]['snippet']['title'];.
Если вы хотите перебрать их, это можно сделать с помощью array_walk():
function myfunction($value, $key)
{
echo "The key $key has the value $value<br />";
}
array_walk($json, "myfunction");
Также обратите внимание, что ваши две строки:
echo $json['kind']."<p>".$json['etag']."<p>".$json['nextPageToken']."<p>";
echo $json['pageInfo']['totalResults']."<p>".$json['pageInfo']['resultsPerPage'];
Недействительный HTML; у вас не может быть тега <p>, вложенного в другой тег <p>; не забудьте закрыть их с помощью </p>.
Да спасибо! Это то, что я искал, и не могу поверить, что даже не подумал об этом. Я чувствую себя сумасшедшим. Что касается вашего второго примечания, я ценю это и да, я в курсе. Я просто выкидываю тестовый код (не особо беспокоюсь о том, чтобы все было идеально)
@NicholetteLiguori примите этот ответ, если это помогло вам решить вашу проблему, отметьте галочкой, если он решен
Ах да, остальное я тоже понял. Ty
Возможный дубликат Справка - что означает эта ошибка в PHP?