php - 我在一个地方得到了未定义的财产?
问题描述
我是 php 新手
我有这个代码
$query = $request->all();
$allParameters = $request->all();
$keyword = 'جورج';
$apikey = 'XXX';
$googleApiUrl = 'https://www.googleapis.com/youtube/v3/search?part=snippet&q=' . $keyword . '&maxResults=' . 100 . '&key=' . $apikey;
// dd($googleApiUrl);
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $googleApiUrl);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response);
$value = json_decode(json_encode($data), true);
$init = new stdClass;
$array = [];
//dd($data->items);
foreach($data->items as $i => $item) {
$i++;
$init = new stdClass;
//dd($item->id->videoId);
//dd(sprintf("https://www.youtube.com/watch?v=%s",$item->id->videoId));
$ura = sprintf("https://www.youtube.com/watch?v=%s",$item->id->videoId);
$init->Nmae = $item->snippet->title;
// $init->url = sprintf("https://www.youtube.com/watch?v=%s",$item->id->videoId);
$init->Id = $i;
array_push($array,$init);
DB::table('wassoufs')->insert(
['Id' =>$i , 'Name' => $item->snippet->title, 'url'=> $ura]
);
};
未定义属性:stdClass::$videoId
这dd(sprintf("https://www.youtube.com/watch?v=%s",$item->id->videoId));
工作正常
但是当我这样做的时候
$ura = sprintf("https://www.youtube.com/watch?v=%s",$item->id->videoId);
我得到未定义的属性:stdClass::$videoId
任何原因 ?
解决方案
正在发生这种情况,因为有时 videoId 为空。
您不仅会获得 videoIds,还会获得 channelIds。
如果您只对 videoIds 感兴趣,我会像这样重写。
$i++;
$init = new stdClass;
if (isset($item->id->videoId)) {
$ura = sprintf("https://www.youtube.com/watch?v=%s",$item->id->videoId);
$init->Nmae = $item->snippet->title;
$init->Id = $i;
array_push($array,$init);
DB::table('wassoufs')->insert(
['Id' =>$i , 'Name' => $item->snippet->title, 'url'=> $ura]);
}
推荐阅读
- anaconda - 安装底图后,我的 Anaconda Navigator 和 Spyder 无法启动
- regex - 正则表达式将电话号码与 00 和 + 匹配并且还允许空格
- java - 如何将@Projection 分配给@GetMapping spring servlet 端点?
- spring-boot - SpringBoot scanBasePackages 在多模块项目中不起作用
- python - 如何在 ipython 会话中从内存中恢复变量值?
- excel - 行趋势向上或向下切换
- pdf - 在 PDF 输出中使用表格时 Bi Publisher 空白页
- html - SVG textPath 在 Safari 中不起作用
- sql - 与 cte union all select into
- ruby-on-rails - 从服务器验证后收到的响应中获取未保存的文档