获取YOUTUBE API的PHP foreach循环json的第一个结果

时间:2018-11-01 13:36:37

标签: php json api youtube iteration

由于某种原因,在获得迭代的有效结果之后,中断;方法不会阻止其余结果的出现。

因此,我需要第一个错误的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;
    }
}
?>

但是我似乎无法解决我做错的事情。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您的代码应该没问题,除了,无论停止在哪个项目上,它都将输出相同的内容。因此,您将无法分辨找到了哪个项目。

这是因为$vid不会被循环更改,并且您输出的其他所有内容都是硬编码的。

我认为您可能想在输出中使用$id而不是$vid,以获得通过代码找到的特定商品的ID:

echo 'https://m.youtube.com/watch?v='.$id;

下面是一个现场演示,展示了执行该操作的结果:http://sandbox.onlinephpfunctions.com/code/9c1dc33caef02126f2f94cf5502023da83159bc1