I'm trying to get the values from [iso_3166_1] and [title] in an array, which is inside another array.
I have searched and tried several solutions and tips, but none of them works, and now I'm stuck.
The content is fetched like this
$content = json_decode($jsonFile);
Then I have the following content
stdClass Object (
[id] => 508947 [titles] => Array (
[0] => stdClass Object ( [iso_3166_1] => FR [title] => Devenir rouge [type] => )
[1] => stdClass Object ( [iso_3166_1] => MX [title] => Red [type] => )
[2] => stdClass Object ( [iso_3166_1] => LV [title] => Es sarkstu [type] => )
[3] => stdClass Object ( [iso_3166_1] => NO [title] => Rød [type] => )
[4] => stdClass Object ( [iso_3166_1] => SE [title] => Röd [type] => )
[5] => stdClass Object ( [iso_3166_1] => PE [title] => Red [type] => )
)
)
I have tried to make a foreach loop like this for instance, but that only gives me Warning: Invalid argument supplied for foreach():
foreach($content as $row) {
foreach($row['titles'] as $country) {
echo $country['iso_3166_1']['title'];
}
}
I have also tried tho following, to try get rid of the stdClass Objects in the array, which does not seem to work either:
$content = json_decode(json_encode($content), true);
$content = (array)$content;
$contentis not an array, but already an object. You have one loop in excessforeach($content['titles'] as $country) { ... }$content = json_decode($jsonFile); $content = json_decode(json_encode($content), true);is overkill, just do$content = json_decode($jsonFile, true);, this is enoughforeach ($content->titles as $country) { echo $country->iso_3166_1, $country->title; }