PHP:循环并解析数组

时间:2014-02-03 11:53:42

标签: php arrays parsing loops

我创建了一个简单的博客应用程序,其中所有内容都从数据库中检索并尝试在我的页面上进行解析。我有“主页”,其中所有帖子都可见,因此我从数据库中选择所有帖子并尝试解析它们。

因此,在检索所有数据时,我将它们传递给一个数组,我最终用这个:

var_dump($feed);

给我这个:

array(3) { [0]=> array(5) { ["url"]=> string(9) "firstpost" ["baseurl"]=> string(6) "myblog" ["title"]=> string(22) "super awesome new post" ["publish"]=> string(20) "7 Jan 2014, 10:10 am" ["content"]=> string(419) "<p>sdfasjkgasg</p> <p>asdfg</p> <p>as</p> <p>dgsdg</p> <p><strong>this bold text</strong></p> <p>this is <em>italic</em></p> <p> </p> <ol> <li><em>skata q</em></li> <li><em>skata 2</em></li> <li><em>skata 3</em></li> </ol>" } [1]=> array(5) { ["url"]=> string(6) "POST_2" ["baseurl"]=> string(6) "myblog" ["title"]=> string(7) "Title 2" ["publish"]=> string(21) "25 Dec 2013, 10:58 am" ["content"]=> string(343) "<p>This is a plain text.</p> <p><strong>Here goes the bold text.</strong></p> <p><em>Oh and we got some Italic aswell.</em></p> <p>You know you can words too?</p> <p> </p> <p> </p> <p>And here we got some bulletings:</p>" } [2]=> array(5) { ["url"]=> string(6) "POST_3" ["baseurl"]=> string(6) "myblog" ["title"]=> string(24) "Super-awesome cool title" ["publish"]=> string(21) "25 Dec 2013, 10:47 am" ["content"]=> string(904) "<p>This is a plain text.</p> <p> </p> <p><strong>Here goes the bold text.</strong></p> <p> </p> <p><em>Oh and we got some Italic aswell.</em></p> <p> </p> <p>You know you can <span style="text-decoration: underline;">underline</span> words too?</p> <p> </p> <p><span style="text-decoration: line-through;">Or strikeout. Cool huh?</span></p> <p> </p> <p>And here we got some bulletings:</p> <ul> <li>First</li> <li>Second</li> <li>Third</li> </ul> <p>and of course, numbering:</p> <ol> <li>Number 1</li> <li>Number 2</li> <li>Number 3!</li> </ol> <p> </p>" } } 

所以现在我试图解析每一个:

foreach ($feed as $obj) {
   echo "<div>URL:".$obj->url."</div>";
}

没有结果。所以我试着转储$obj->url,我得到了这个:

URL:NULL NULL NULL

如何解析上述数组中的每个数据?

1 个答案:

答案 0 :(得分:5)

这样做。

foreach ($feed as $obj) {
   echo "<div>URL:".$obj['url']."</div>";
}

您正在将数组作为对象访问。如图所示,请$obj['url']代替$obj->url