在 PHP Foreach 中循环 JSON 字符串响应

Loop JSON String response in PHP Foreach

我正在尝试在 PHP 中打印 JSON 响应的值。里面的内容是:

data
local
acao
detalhes

代码:

<?php
header('Content-type: text/html; charset=UTF-8');

$url = "http://developers.agenciaideias.com.br/correios/rastreamento/json/RJ290474594CN";
$c_url = file_get_contents($url); 
$c_url = utf8_encode($c_url); 
$results = json_decode($c_url); 

echo $c_url;
?>

我试过使用 foreach 但未能成功地在所述 JSON 响应中实施它们。

这是一个 JSON 字符串示例:

[{"data":"07\/12\/2014 11:19","local":"CHINA - CHINA\/CN","acao":"postado","detalhes":"-"},{"data":"09\/12\/2014 12:03","local":"CHINA - CHINA\/CN","acao":"encaminhado","detalhes":"Em tr\u00e2nsito para Unidade de Tratamento Internacional - BRASIL\/BR"},{"data":"29\/12\/2014 12:34","local":"UNIDADE TRAT INTERNACIONAL PARANA - Curitiba\/PR","acao":"conferido","detalhes":"Recebido\/Brasil "}]

如果您只想打印值,只需使用 foreach 相应地打印它们即可。得到响应后,使用json_decode()ut8f_encode() 是多余的

$url = "http://developers.agenciaideias.com.br/correios/rastreamento/json/RJ290474594CN";
$data = json_decode(file_get_contents($url), true); 
foreach($data as $values) {
    echo $values['data'] . '<br/>';
    echo $values['local'] . '<br/>';
    echo $values['acao'] . '<br/>';
    echo $values['detalhes'] . '<br/>';
}

Sample Output

或者:

$url = "http://developers.agenciaideias.com.br/correios/rastreamento/json/RJ290474594CN";
$data = json_decode(file_get_contents($url), true); 
foreach($data as $values) {
    foreach($values as $key => $value) {
        echo "{$key}: $value <br/>";
    }
    echo '<hr/>';
}