由于某种原因,在获得迭代的有效结果之后,中断;方法不会阻止其余结果的出现。
因此,我需要第一个错误的licenseContent……
<?php
$link2 = "https://www.googleapis.com/youtube/v3/videos?part=contentDetails&id=".$vid."&key=". $api;
$video2 = file_get_contents($link2);
$video2 = json_decode($video2, true);
foreach ($video2['items'] as $data) {
$licensed = $data['contentDetails']['licensedContent'];
$id = $data['id'];
if ($licensed == false) {
echo 'https://m.youtube.com/watch?v='.$vid;
echo ($licensed == false ? "false" : "true")."<br/>";
break;
}
}
?>
但是我似乎无法解决我做错的事情。任何帮助将不胜感激。
答案 0 :(得分:0)
您的代码应该没问题,除了,无论停止在哪个项目上,它都将输出相同的内容。因此,您将无法分辨找到了哪个项目。
这是因为$vid
不会被循环更改,并且您输出的其他所有内容都是硬编码的。
我认为您可能想在输出中使用$id
而不是$vid
,以获得通过代码找到的特定商品的ID:
echo 'https://m.youtube.com/watch?v='.$id;
下面是一个现场演示,展示了执行该操作的结果:http://sandbox.onlinephpfunctions.com/code/9c1dc33caef02126f2f94cf5502023da83159bc1