2015-01-10 8 views
-1

PHP에서 JSON 응답의 값을 인쇄하려고합니다. 내용은 내부의Loop JSON String response in PHP Foreach

data 
local 
acao 
detalhes 

코드 :

내가 foreach를 사용하여 시도하지만, 그들 구현에 성공하지 못한 한
<?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; 
?> 

은 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

그냥 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/>'; 
} 
+0

Tnks, 아주 좋은! 나는 배우고있다... – mib