foreach循环如何遍历对象

时间:2014-06-02 12:00:15

标签: php arrays facebook foreach

我正在获取facebook api调用的内容,该调用将返回发给facebook组的所有帖子。所以关于该帖子的所有帖子/评论。

$data = json_decode(file_get_contents($url2));

foreach($data as $post){
    foreach $post as $subpost)
    {
     ...etc
    }
}

我在这里遇到的问题是我需要使用3个嵌套的foreach循环来实际获取我想要的数据。如何在不使用$data的情况下获取foreach的第一个元素?

e.g。像$data[0]这样的东西(不起作用)。 foreach循环如何遍历一个对象,所以我可以手动编写它,因为我只想要一个嵌套在数组中的单个对象。

编辑 object(stdClass)#1(2){[“data”] => array(25){[0] => object(stdClass)#2(10)......

我想访问包含10个数据的最终对象。

4 个答案:

答案 0 :(得分:2)

$data = json_decode(file_get_contents($url2), true);

将返回一个数组,您可以通过$data[0]等索引访问它。

答案 1 :(得分:1)

尝试使用如下所示 - 只需在第二个参数中传递true,它会将对象转换为数组,因此您可以将其用作数组。

$data = json_decode(file_get_contents($url2), true);
foreach($data as $post){
    foreach $post as $subpost)
    {
        ...etc
    }
}

答案 2 :(得分:1)

你应该做

$data = json_decode(file_get_contents($url2),true);

要将其转换为数组,请尝试

$数据[0]

答案 3 :(得分:0)

您可以使用$post代替$ data .. 索引$post取决于您通过json接收的数据类型。 如果它是一个二维数组,您可以使用$post[0]['index']或如果它是一维数组,您可以使用$post['index'],它将为您提供精确的索引项。