从php Array获取密钥

时间:2015-12-24 14:18:44

标签: php arrays

我正在使用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];
没有运气。

1 个答案:

答案 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());
}