function getNews()
{
$bloggerDataStr = file_get_contents("http://www.blogger.com/feeds/3018390933290471377/posts/default/-/comp?alt=json");
$bloggerDataArr = json_decode($bloggerDataStr);
$html .= '<ul>';
foreach($bloggerDataArr->feed->entry as $entry)
{
$html .= '<li>';
$html .= '<h1>'.$entry->title->$t.'</h1>';
$html .= '<time>'.$entry->published->$t.'</time>';
$html .= '<section>'.$entry->content->$t.'</section>';
$html .= '</li>';
}
$html .= '</ul>';
return $html;
}
我在“
”中收到“致命错误:无法访问空属性”$entry->title->$t.
我相信我的代码是正确的,我不明白有什么不对。救命?感谢
答案 0 :(得分:3)
$t
是PHP中的变量名。试试$entry->title->{'$t'}
。
答案 1 :(得分:0)
尝试使用var_dump检查您要查找的属性
答案 2 :(得分:0)
可能这不是最优雅的解决方案,但它对我有用: 由于问题是参数名称中的美元符号,请尝试用$ entry-&gt; title-&gt; {chr(36)替换“$ entry-&gt; title-&gt; $ t”。 't'}
这是您编辑的代码:
$bloggerDataStr = file_get_contents("http://www.blogger.com/feeds/3018390933290471377/posts/default/-/comp?alt=json");
$bloggerDataArr = json_decode($bloggerDataStr);
$html .= '<ul>';
foreach($bloggerDataArr->feed->entry as $entry)
{
$html .= '<li>';
$html .= '<h1>'.$entry->title->{chr(36) . 't'}.'</h1>';
$html .= '<time>'.$entry->published->{chr(36) . 't'}.'</time>';
$html .= '<section>'.$entry->content->{chr(36) . 't'}.'</section>';
$html .= '</li>';
}
$html .= '</ul>';
return $html;