как повторить fixer.io json Переполнение стека

Привет, я пытаюсь получить JSON от fixer.io, а затем для каждого курса повторять его, но не могу заставить его работать.
код

<?php

function usd(){
echo 'HEJ test';
$fixer_access_key = my_access_key;
$url= 'https://data.fixer.io/api/latest?access_key=' . $fixer_access_key;
echo $url;
$json = file_get_contents($url);
$data = json_decode($json);
echo $url . "<br>";
echo 'printing json foreach <br>';
foreach($data as $obj){
echo '...';
$prefix = $obj;
echo $prefix;
echo '<br>';}
echo 'done printing json foreach';
}
usd();  ?>

и результат:

https://data.fixer.io/api/latest?access_key=my_fixer_key

печать JSON Foreach

закончил печать json foreach

1

Решение

вместо

$data = json_decode($json);

использование

$data = json_decode($json, true);

Это должно позволить foreacha работать — однако вы увидите только первый уровень ключей объектов json (не вложенных). Второй параметр json_decode изменить результат от объекта к массиву.

Вам также нужно будет изменить foreach — на следующее: foreach($data as $key => $obj) и внутри echo $obj в echo $key;,

Вот упрощенная работа пример.

АЛЬТЕРНАТИВНОЕ РЕШЕНИЕ

Если работает foreach это не ваша цель, а скорее довольно печатный JSON, вместо этого используйте следующий код:

  $json_string = json_encode($data, JSON_PRETTY_PRINT);
echo $json_string;
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]