PHP foreach array with stdClass Object

hellomello picture hellomello · Nov 14, 2012 · Viewed 27.8k times · Source

I need help trying to get values inside array and stdClass Object.

FYI: I'm using foursquare API...

I have something like this:

`$fsq_groups = $venues->response->groups;`

    echo "<pre>";
    print_r($fsq_groups);
    echo "</pre>";

From print_r($fsq_groups);

Array
(
    [0] => stdClass Object
        (
            [type] => Recommended Places
            [name] => recommended
            [items] => Array
                (
                    [0] => stdClass Object
                        (
                            [reasons] => stdClass Object
                                (
                                    [count] => 2
                                    [items] => Array
                                        (
                                            [0] => stdClass Object
                                                (
                                                    [type] => general
                                                    [message] => Lots of people have mentioned "burgers" here
                                                )

                                            [1] => stdClass Object
                                                (
                                                    [type] => general
                                                    [message] => This spot is popular on Foursquare
                                                )

                                        )

                                )

                            [venue] => stdClass Object
                                (
                                    [id] => 4afe5a4bf964a520372f22e3
                                    [name] => Stout Burgers & Beer
                                    [contact] => stdClass Object
...

How do I get to the name under venue

I tried something like this but didn't work:

foreach($fsq_groups as $groups)
{
    foreach($groups->items->venue as $venue)
    {

            echo $venue->name;
                echo "<pre>";
                print_r($venue);
                echo "</pre>";
    }
}

Answer

martin-lundberg picture martin-lundberg · Nov 14, 2012
$fsq_groups = $venues->response->groups;
if(isset($fsq_groups[0])){
    $groups = $fsq_groups[0];
    foreach($groups->items as $key => $place){
        $venue = $place->venue;
        echo $venue->name;
    }
}