Twitter API 未定义 PHP 索引
Twitter API undefined PHP index
我正在使用 this Twitter API code 在我的网站上显示推文。目前我收到 "undefined index" 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 ...
。我该如何解决?
您需要添加 var_dump($tweet)
以查看 $tweet
包含的内容。该错误意味着 $tweet['entities']
数组中没有 media
这样的键(假设 $tweet
和 $tweet['media']
都是基于您提供的方式的数组)。之后,您可以使用 isset
函数或 Null 合并运算符来检查您要查找的密钥是否存在,然后采取必要的措施。
例如
$mediaUrl = $tweet['entities']['media'][0]['media_url_https'] ?? '';
尝试使用isset检查,示例:
$mediaURL = '';
if( isset($tweet['entities']['media'][0]['media_url_https']) ){
$mediaURL = $tweet['entities']['media'][0]['media_url_https'];
}
我正在使用 this Twitter API code 在我的网站上显示推文。目前我收到 "undefined index" 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 ...
。我该如何解决?
您需要添加 var_dump($tweet)
以查看 $tweet
包含的内容。该错误意味着 $tweet['entities']
数组中没有 media
这样的键(假设 $tweet
和 $tweet['media']
都是基于您提供的方式的数组)。之后,您可以使用 isset
函数或 Null 合并运算符来检查您要查找的密钥是否存在,然后采取必要的措施。
例如
$mediaUrl = $tweet['entities']['media'][0]['media_url_https'] ?? '';
尝试使用isset检查,示例:
$mediaURL = '';
if( isset($tweet['entities']['media'][0]['media_url_https']) ){
$mediaURL = $tweet['entities']['media'][0]['media_url_https'];
}