提问人:user13286 提问时间:4/7/2018 更新时间:4/7/2018 访问量:257
Twitter API 未定义的 PHP 索引 [重复]
Twitter API undefined PHP index [duplicate]
问:
我正在使用此 Twitter API 代码在我的网站上显示推文。目前,我收到“未定义索引”PHP错误,这些错误不会影响功能,但无论如何我都想知道解决它们的正确方法。我猜在定义变量之前,我需要先检查来自 Twitter API 的响应是否存在,但不确定正确的方法。
下面是一个代码示例:
$id = $tweet['id'];
$formattedTweet = !$isRetweet ? formatTweet($tweet['full_text']) : formatTweet($retweet['full_text']);
$statusURL = 'http://twitter.com/' . $userScreenName . '/status/' . $id;
$date = timeAgo($tweet['created_at']);
$mediaURL = $tweet['entities']['media'][0]['media_url_https'];
例如,假设返回的推文没有图像,那么我将从 $mediaURL 变量中获取错误。我该如何解决这个问题?Notice: Undefined index: media in ...
答:
0赞
banstola
4/7/2018
#1
您需要添加以查看包含的内容。该错误意味着数组中没有这样的键(假设 和 都是基于您呈现的方式的数组)。之后,您可以使用 function 或 Null 合并运算符来检查您要查找的键是否存在,然后采取必要的措施。var_dump($tweet)
$tweet
media
$tweet['entities']
$tweet
$tweet['media']
isset
例如
$mediaUrl = $tweet['entities']['media'][0]['media_url_https'] ?? '';
1赞
Khaled Alam
4/7/2018
#2
尝试使用 isset 进行检查,例如:
$mediaURL = '';
if( isset($tweet['entities']['media'][0]['media_url_https']) ){
$mediaURL = $tweet['entities']['media'][0]['media_url_https'];
}
评论