Hoi..

Ik verdiep me in associative arrays en $output levert dit op:

[{"name":"Japan","topLevelDomain":[".jp"],"alpha2Code":"JP","alpha3Code":"JPN","callingCodes":["81"],"capital":"Tokyo","altSpellings":["JP","Nippon","Nihon"],"subregion":"Eastern Asia","region":"Asia","population":125836021,"latlng":[36,138],"demonym":"Japanese","area":377930,"gini":32.9,"timezones":["UTC+09:00"],"nativeName":"日本","numericCode":"392","flags":{"svg":"https://flagcdn.com/jp.svg","png":"https://flagcdn.com/w320/jp.png"},"currencies":[{"code":"JPY","name":"Japanese yen","symbol":"¥"}],"languages":[{"iso639_1":"ja","iso639_2":"jpn","name":"Japanese","nativeName":"日本語 (にほんご)"}],"translations":{"br":"Japan","pt":"Japão","nl":"Japan","hr":"Japan","fa":"ژاپن","de":"Japan","es":"Japón","fr":"Japon","ja":"日本","it":"Giappone","hu":"Japán"},"flag":"https://flagcdn.com/jp.svg","cioc":"JPN","independent":true}]


Nu wil ik hier de 'flags' uitfilteren en de png versie, met echo $output["flags"];

Maar dat werkt helaas niet.

Iemand ideeen?
Probeer het eens zo:

$output[0]["flags"]["png"];

Als je deze JSON-string in bijv. https://jsonviewer.stack.hu/ gooit, dan heb je meteen een mooi overzicht.
Helaas: Warning: Illegal string offset 'png'

Dit is mijn php script:

<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://www.apicountries.com/name/Japan";);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);
echo $output;

$output["flags"]["png"];

//echo $output["flags"];
?>
Je leest niet goed?
 <?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://www.apicountries.com/name/Japan");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);


$decoded = json_decode($output,true);
echo '<pre>' . print_r($decoded,TRUE) . '</pre>';
$flag = $decoded[0]['flags']['png'];
echo $flag;
?>

<p><img src="<?php echo $flag; ?>" /></p>
wow.. dat werkt :-) Dankjewel.
Je moest wel die 0 gebruiken. ;-)

Reageren