【发布时间】:2019-04-05 17:52:20
【问题描述】:
由于某种原因得到迭代的有效结果后,break;方法不会阻止其余结果的出现。
因此,我需要第一个虚假的许可内容......
<?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;
}
}
?>
但我似乎无法解决我做错了什么。任何帮助将不胜感激。
【问题讨论】:
-
嘿,我今天早些时候回复了你的previous question。如果它有帮助(您正在使用我的代码,所以我认为它确实有效),请记住将其标记为“已接受”(单击答案旁边的勾号,使其变为绿色)。然后人们就会知道它在将来很有用。谢谢。如果它以某种方式没有帮助,请发表评论,以便改进或提供进一步的帮助。本网站根据反馈工作 - 如果您不接受答案或为他们投票,将来人们将不会提供帮助。
-
除非是拼写错误,否则您缺少结束大括号
}以结束您的 foreach 循环 -
这是一个错字,我只复制了那部分代码。我正确地得到了结果,每个视频 id 分开,但仍然不能只得到第一个。还有阿迪森,我正在赚取积分来投票和评论,如果我可以投票,让我再试一次,因为你的回答有效,非常感谢。
-
你不能upvote直到你得到15个代表,但你可以accept answers(与投票不同)
-
无论如何,你的代码应该没问题,除了,无论它停在哪个项目上,它都会输出相同的东西。那是因为
$vid不会被您的循环更改,并且您输出的所有其他内容都是硬编码的。您是不是想使用$id而不是$vid来附加到 youtube 网址?
标签: php json api youtube iteration