从YouTube API JSON响应(PHP)中随机选取一个视频
假设我使用youtube API v3进行了一次简单的youtube搜索,得到如下响应:从YouTube API JSON响应(PHP)中随机选取一个视频,php,json,random,youtube,youtube-data-api,Php,Json,Random,Youtube,Youtube Data Api,假设我使用youtube API v3进行了一次简单的youtube搜索,得到如下响应: { "kind": "youtube#searchListResponse", "etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/1MwZbx-vX21eNjUJjkUlNHKCIhI\"", "nextPageToken": "CAIQAA", "regionCode": "US", "pageInfo": { "totalResults": 412, "re
{
"kind": "youtube#searchListResponse",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/1MwZbx-vX21eNjUJjkUlNHKCIhI\"",
"nextPageToken": "CAIQAA",
"regionCode": "US",
"pageInfo": {
"totalResults": 412,
"resultsPerPage": 2
},
"items": [
{
"kind": "youtube#searchResult",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/q2KHbIuwnAhM64HgrqhBqc5xvTI\"",
"id": {
"kind": "youtube#video",
"videoId": "gpZvuZEiINA"
},
"snippet": {
"publishedAt": "2014-03-30T11:46:50.000Z",
"channelId": "UCCaE0Bj6NI-y8_yL1FpcJUw",
"title": "Depression-90` instrumental (download link)",
"description": "E-Mail: ensari5500@gmail.com\nNew old school instrumental with download link ,Enjoy the beat, I hope you like it!\nPlease comment, rate and subscribe if you like this beat\nI appreciate YOUR support! Peace and respect",
"thumbnails": {
"default": {
"url": "https://i.ytimg.com/vi/gpZvuZEiINA/default.jpg",
"width": 120,
"height": 90
},
"medium": {
"url": "https://i.ytimg.com/vi/gpZvuZEiINA/mqdefault.jpg",
"width": 320,
"height": 180
},
"high": {
"url": "https://i.ytimg.com/vi/gpZvuZEiINA/hqdefault.jpg",
"width": 480,
"height": 360
}
},
"channelTitle": "Ekii020 90` OLDSCHOOL - BOOMBOOMBAP INSTRUMENTALS",
"liveBroadcastContent": "none"
}
},
{
"kind": "youtube#searchResult",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/HXRyGhFaD4Cn0wvF5XPMJKX5tNQ\"",
"id": {
"kind": "youtube#video",
"videoId": "G7ThqpcuPTI"
},
"snippet": {
"publishedAt": "2017-08-05T23:30:24.000Z",
"channelId": "UCsFmkkSVNgvihycqqtjSXgA",
"title": "Homeless (Dark Sad Piano Hip Hop Rap Instrumental Beat)",
"description": "http://rightbeatradio.com/product/homeless/\n\nI wrote a song about a humble man I met yesterday. We spoke for a while. He just wanted to talk. He was homeless.\n\nI cut some pieces from a few jazz recordings and put them behind a simple piano riff.\n\nThis music has a lot of feeling. Perfectly describes how I felt after our conversation.\n\nTake care.\n\n89 bpm\n\nrightbeatradio.com\ntwitter.com/rightbeatradio",
"thumbnails": {
"default": {
"url": "https://i.ytimg.com/vi/G7ThqpcuPTI/default.jpg",
"width": 120,
"height": 90
},
"medium": {
"url": "https://i.ytimg.com/vi/G7ThqpcuPTI/mqdefault.jpg",
"width": 320,
"height": 180
},
"high": {
"url": "https://i.ytimg.com/vi/G7ThqpcuPTI/hqdefault.jpg",
"width": 480,
"height": 360
}
},
"channelTitle": "Right Beat Radio",
"liveBroadcastContent": "none"
}
}
]
}
$array = json_decode($JSON, true);
$random_entry = array_rand($array['items'], 1);
$json_data = json_encode($random_entry);
我想生成,比如说,10个结果,但只从响应中选择1(一)个随机[item]
。我如何将结果随机化,并从整个响应中仅选择其中一个
我见过诸如shuffle()
和array\u rand()
之类的函数,但这些似乎不是我需要的函数
我还看到了这样一个片段:
{
"kind": "youtube#searchListResponse",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/1MwZbx-vX21eNjUJjkUlNHKCIhI\"",
"nextPageToken": "CAIQAA",
"regionCode": "US",
"pageInfo": {
"totalResults": 412,
"resultsPerPage": 2
},
"items": [
{
"kind": "youtube#searchResult",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/q2KHbIuwnAhM64HgrqhBqc5xvTI\"",
"id": {
"kind": "youtube#video",
"videoId": "gpZvuZEiINA"
},
"snippet": {
"publishedAt": "2014-03-30T11:46:50.000Z",
"channelId": "UCCaE0Bj6NI-y8_yL1FpcJUw",
"title": "Depression-90` instrumental (download link)",
"description": "E-Mail: ensari5500@gmail.com\nNew old school instrumental with download link ,Enjoy the beat, I hope you like it!\nPlease comment, rate and subscribe if you like this beat\nI appreciate YOUR support! Peace and respect",
"thumbnails": {
"default": {
"url": "https://i.ytimg.com/vi/gpZvuZEiINA/default.jpg",
"width": 120,
"height": 90
},
"medium": {
"url": "https://i.ytimg.com/vi/gpZvuZEiINA/mqdefault.jpg",
"width": 320,
"height": 180
},
"high": {
"url": "https://i.ytimg.com/vi/gpZvuZEiINA/hqdefault.jpg",
"width": 480,
"height": 360
}
},
"channelTitle": "Ekii020 90` OLDSCHOOL - BOOMBOOMBAP INSTRUMENTALS",
"liveBroadcastContent": "none"
}
},
{
"kind": "youtube#searchResult",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/HXRyGhFaD4Cn0wvF5XPMJKX5tNQ\"",
"id": {
"kind": "youtube#video",
"videoId": "G7ThqpcuPTI"
},
"snippet": {
"publishedAt": "2017-08-05T23:30:24.000Z",
"channelId": "UCsFmkkSVNgvihycqqtjSXgA",
"title": "Homeless (Dark Sad Piano Hip Hop Rap Instrumental Beat)",
"description": "http://rightbeatradio.com/product/homeless/\n\nI wrote a song about a humble man I met yesterday. We spoke for a while. He just wanted to talk. He was homeless.\n\nI cut some pieces from a few jazz recordings and put them behind a simple piano riff.\n\nThis music has a lot of feeling. Perfectly describes how I felt after our conversation.\n\nTake care.\n\n89 bpm\n\nrightbeatradio.com\ntwitter.com/rightbeatradio",
"thumbnails": {
"default": {
"url": "https://i.ytimg.com/vi/G7ThqpcuPTI/default.jpg",
"width": 120,
"height": 90
},
"medium": {
"url": "https://i.ytimg.com/vi/G7ThqpcuPTI/mqdefault.jpg",
"width": 320,
"height": 180
},
"high": {
"url": "https://i.ytimg.com/vi/G7ThqpcuPTI/hqdefault.jpg",
"width": 480,
"height": 360
}
},
"channelTitle": "Right Beat Radio",
"liveBroadcastContent": "none"
}
}
]
}
$array = json_decode($JSON, true);
$random_entry = array_rand($array['items'], 1);
$json_data = json_encode($random_entry);
我试过了,但它只返回“nextpGetOken”或“kind”等字符串
我想挑选一个完整的[item]
并获取其所有相关的[snippet]
数据,例如channelId、标题、描述、缩略图等
有人能给我指出正确的方向吗?试试这个
$array = json_decode($JSON, true);
$items = $array['items'];
$random_key = array_rand($items, 1);
$json_data = json_encode($items[$random_key]);
array\u rand()返回数组键,而不是数组值。这太快了,太棒了。谢谢你,先生。