foreach工作,关键不,PHP

时间:2014-03-07 03:05:02

标签: php foreach indexing

我知道这可能是对语法的误解,我确信这是因为我现在正在使用Java和C ++,但是我真的很感激一些指导。这是用PHP。

这有效,

$entry;
foreach($this->channel as $i){
    $entry = $i;
    break;
}
echo $entry->title();

这不,

echo $this->channel[0]->title();

感谢帮助。

根据“zerkms”评论,

object(Zend_Feed_Rss)#43 (9) {
  ["_entryClassName":protected] => string(19) "Zend_Feed_Entry_Rss"
  ["_entryElementName":protected] => string(4) "item"
  ["_defaultNamespace":protected] => string(3) "rss"
  ["_entryIndex":protected] => int(0)
  ["_entries":protected] => array(1) {
    [0] => object(DOMElement)#63 (17) {
      ["tagName"] => string(4) "item"
      ["schemaTypeInfo"] => NULL
      ["nodeName"] => string(4) "item"
      ["nodeValue"] => string(1058) "tag:blogger.com,1999:blog-7914458791192620477.post-6083787759488123555Fri, 07 Mar 2014 02:03:00 +00002014-03-06T18:03:27.296-08:00Test Title: tamuHack<strong style="font-family: Arial, Helvetica, sans; font-size: 11px; line-height: 14px; text-align: justify;">Lorem Ipsum</strong><span style="font-family: Arial, Helvetica, sans; font-size: 11px; line-height: 14px; text-align: justify;">&nbsp;is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</span>http://tamuhack.blogspot.com/2014/03/test-title-tamuhack.htmlnoreply@blogger.com (Robert Timm)0"
      ["nodeType"] => int(1)
      ["parentNode"] => string(22) "(object value omitted)"
      ["childNodes"] => string(22) "(object value omitted)"
      ["firstChild"] => string(22) "(object value omitted)"
      ["lastChild"] => string(22) "(object value omitted)"
      ["previousSibling"] => string(22) "(object value omitted)"
      ["attributes"] => string(22) "(object value omitted)"
      ["ownerDocument"] => string(22) "(object value omitted)"
      ["namespaceURI"] => NULL
      ["prefix"] => string(0) ""
      ["localName"] => string(4) "item"
      ["baseURI"] => string(44) "/Users/bob/School/tamu_hack/src/public_html/"
      ["textContent"] => string(1058) "tag:blogger.com,1999:blog-7914458791192620477.post-6083787759488123555Fri, 07 Mar 2014 02:03:00 +00002014-03-06T18:03:27.296-08:00Test Title: tamuHack<strong style="font-family: Arial, Helvetica, sans; font-size: 11px; line-height: 14px; text-align: justify;">Lorem Ipsum</strong><span style="font-family: Arial, Helvetica, sans; font-size: 11px; line-height: 14px; text-align: justify;">&nbsp;is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</span>http://tamuhack.blogspot.com/2014/03/test-title-tamuhack.htmlnoreply@blogger.com (Robert Timm)0"
    }
  }
  ["_element":protected] => object(DOMElement)#62 (17) {
    ["tagName"] => string(7) "channel"
    ["schemaTypeInfo"] => NULL
    ["nodeName"] => string(7) "channel"
    ["nodeValue"] => string(1215) "tag:blogger.com,1999:blog-7914458791192620477Fri, 07 Mar 2014 02:03:27 +0000tamuHackhttp://tamuhack.blogspot.com/noreply@blogger.com (Robert Timm)Blogger1125tag:blogger.com,1999:blog-7914458791192620477.post-6083787759488123555Fri, 07 Mar 2014 02:03:00 +00002014-03-06T18:03:27.296-08:00Test Title: tamuHack<strong style="font-family: Arial, Helvetica, sans; font-size: 11px; line-height: 14px; text-align: justify;">Lorem Ipsum</strong><span style="font-family: Arial, Helvetica, sans; font-size: 11px; line-height: 14px; text-align: justify;">&nbsp;is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</span>http://tamuhack.blogspot.com/2014/03/test-title-tamuhack.htmlnoreply@blogger.com (Robert Timm)0"
    ["nodeType"] => int(1)
    ["parentNode"] => string(22) "(object value omitted)"
    ["childNodes"] => string(22) "(object value omitted)"
    ["firstChild"] => string(22) "(object value omitted)"
    ["lastChild"] => string(22) "(object value omitted)"
    ["previousSibling"] => NULL
    ["attributes"] => string(22) "(object value omitted)"
    ["ownerDocument"] => string(22) "(object value omitted)"
    ["namespaceURI"] => NULL
    ["prefix"] => string(0) ""
    ["localName"] => string(7) "channel"
    ["baseURI"] => string(44) "/Users/bob/School/tamu_hack/src/public_html/"
    ["textContent"] => string(1215) "tag:blogger.com,1999:blog-7914458791192620477Fri, 07 Mar 2014 02:03:27 +0000tamuHackhttp://tamuhack.blogspot.com/noreply@blogger.com (Robert Timm)Blogger1125tag:blogger.com,1999:blog-7914458791192620477.post-6083787759488123555Fri, 07 Mar 2014 02:03:00 +00002014-03-06T18:03:27.296-08:00Test Title: tamuHack<strong style="font-family: Arial, Helvetica, sans; font-size: 11px; line-height: 14px; text-align: justify;">Lorem Ipsum</strong><span style="font-family: Arial, Helvetica, sans; font-size: 11px; line-height: 14px; text-align: justify;">&nbsp;is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</span>http://tamuhack.blogspot.com/2014/03/test-title-tamuhack.htmlnoreply@blogger.com (Robert Timm)0"
  }
  ["_encoding":protected] => string(5) "UTF-8"
  ["_parentElement":protected] => NULL
  ["_appended":protected] => bool(true)
}

1 个答案:

答案 0 :(得分:1)

只要它是Zend_Feed_Rss个实例,只要你想获得第一个项目的标题,你就可以使用:

$entry = $this->channel->current();

$this->channel不是数组(并且未实现ArrayAccess接口) - 因此您无法使用[]来检索其项目。

但它实现了一个迭代器接口,因此您可以使用current()(可能最初指向第一个元素)。

PS:1000000足量足以满足实际需求。 确实实施ArrayAccess,因此$this->channel[0]应该有效。

var_dump($this->channel[0]);会输出什么?