associative array
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?
$output[0]["flags"]["png"];
Als je deze JSON-string in bijv. https://jsonviewer.stack.hu/ gooit, dan heb je meteen een mooi overzicht.
Gewijzigd op 19/05/2025 12:09:27 door - Ariën -
Dit is mijn php script:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?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"];
?>
$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?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?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>
$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. ;-)