1

I am trying to get a few values from a JSON feed using PHP. I have tried many hours without success for some reason.

What I am trying to achieve is getting the title for each item from a json feed which looks like this:

stdClass Object
(
[rss] => stdClass Object
    (
        [@attributes] => stdClass Object
            (
                [version] => 2.0
            )

        [channel] => stdClass Object
            (
                [title] => PR.com Press Releases
                [link] => http://www.PR.com/
                [description] => Latest news releases from PR.com
                [ttl] => 60
                [image] => stdClass Object
                    (
                        [title] => PR.com Press Releases
                        [link] => http://www.PR.com/
                        [url] => http://www.PR.com/images/logo_white.jpg
                    )

                [item] => Array
                    (
                        [0] => stdClass Object
                            (
                                [title] => Nation’s Top Online Medical Weight Loss Provider Now www.hCGTreatments.com
                                [link] => http://www.pr.com/press-release/669077
                                [guid] => http://www.pr.com/press-release/669077
                                [description] => <p><em>With an improved protocol and advancements in technology, HCGTreatments.com has become one of the most reliable names in online weight loss.</em></p>
                                [pubDate] => Sat, 30 Apr 2016 07:00:00 +0000
                                [dc_creator] => Diet Doc
                                [dc_language] => en-us
                                [dc_format] => text/html
                                [dc_identifier] => http://www.pr.com/press-release/669077
                            )

                        [1] => stdClass Object
                            (
                                [title] => Sentynl Therapeutics, Inc. Launches Its Commercial Organization
                                [link] => http://www.pr.com/press-release/669136
                                [guid] => http://www.pr.com/press-release/669136
                                [description] => <p>Sentynl Therapeutics, Inc. Launches Its Commercial Organization</p>
                                [pubDate] => Sat, 30 Apr 2016 07:00:00 +0000
                                [dc_creator] => Sentynl Therapeutics, Inc.
                                [dc_language] => en-us
                                [dc_format] => text/html
                                [dc_identifier] => http://www.pr.com/press-release/669136
                            )

                        [2] => stdClass Object
                            (
                                [title] => Professional of the Year 2015, Bruce H. Levin, is Now a Lifetime VIP in America’s Registry of Outstanding Professionals
                                [link] => http://www.pr.com/press-release/664848
                                [guid] => http://www.pr.com/press-release/664848
                                [description] => <p>Professional of the Year 2015, Bruce H. Levin, is Now a Lifetime VIP in America’s Registry of Outstanding Professionals</p>
                                [pubDate] => Sat, 30 Apr 2016 07:00:00 +0000
                                [dc_creator] => America's Registry of Outstanding Professionals
                                [dc_language] => en-us
                                [dc_format] => text/html
                                [dc_identifier] => http://www.pr.com/press-release/664848
                            )

                    )

            )

    )

)

My PHP code looks like this:

$url = "http://example.com/file.json"; // just an example
$json_file = file_get_contents("$url");

$json = json_decode($json_file, true);

foreach($rss->$item as $mydata)
{
echo $mydata->title . "\n";
} 

I have tried hundreds of variations but fail to get all the titles..

Maybe someone could point me to the right direction.

Thank you :)

Marcus Weller
  • 361
  • 1
  • 3
  • 11
  • `$json = json_decode($json_file, true);` this would give you an associative array, and I don't know from where did `$rss` came from ? – Vishnu Nair Apr 30 '16 at 09:19
  • echo print_r($json, true) ; first see the result before use foreach statement.Then modify your $mydata->title – Gopalakrishnan Apr 30 '16 at 09:21

1 Answers1

0

Try to get object like this

$url = "http://example.com/file.json"; // just an example
$json_file = file_get_contents("$url");

$json = json_decode($json_file, true);

foreach($rss->$item as $mydata->$value)
{
echo $value->title . "\n";
}