我正在使用simplepie
获取一些Feed,我已在数组中设置了我无法访问的密钥。这是我的代码:
$feed->set_feed_url(array(
'Title One'=>'http://example.com/rss/index.xml',
'Title Two'=>'http://feeds.example.com/rss/example',
'Title Three'=>'http://feeds.example.com/ex/blog'
));
当我循环并尝试访问它时,我收到错误,这是我尝试访问它的方式。
foreach ($feed->get_items() as $item):
echo $item[0];
致命错误:无法使用SimplePie_Item类型的对象作为数组
我如何访问我尝试的那些:
echo $item->[0];
没有运气。
答案 0 :(得分:1)
使用foreach
循环遍历数组(通常与关联数组一起使用)时,还有一个额外的构造可以获取密钥。它看起来像这样:
foreach ($feed->get_items() as $key => $item) {
echo($key);
}
所以一个结构如下的数组:
$myArray = [
'a' => 1,
'b' => 2,
];
当使用该语法中的foreach进行迭代时,会在$key
变量中添加“a”或“b”,具体取决于它的迭代次数,$item
将包含“1”或“2” ”
在您的情况下,$item
是对象实例,然后您尝试访问它,就像它是一个数组。如果您需要知道密钥,请使用其他foreach
语法。
要获取SimplePie_Item对象的标题,可以调用get_title()
:
foreach ($feed->get_items() as $index => $item) {
echo($item->get_title());
}