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

时间:2015-01-10 13:12:08

标签: php arrays json

我试图在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 "}]

1 个答案:

答案 0 :(得分:1)

如果您只想打印值,请使用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/>';
}