2014-02-14 2 views
0

내 PHP에 배열로 JSON 파일의 정보를 얻으 려하므로 내 데이터베이스에 넣을 수 있습니다. 이 간단한 예에서 내 코드가 작동합니다PHP에서 JSON 정보 가져 오기

{ 
"tiles":[179, 199, 198, 198, 160, 198, 180, 199, 178, 160, 180, 180, 198, 160] 
} 

$string = file_get_contents(FileDestination); 
$worldarray = json_decode($string, true); 
foreach($worldarray['tiles'] as $item) { 
    mysqli_query($link, 'INSERT INTO blabla (test) VALUES('.$item.')'); 
} 

그러나, 나의 JSON 파일이 조금 더 복잡 발생합니다 등등

{ "height":32, 
"layers":[ 
    { 
    "data":[179, 199, 198, 198, 160, 198, 180, 199, 178, 160, 180, 180, 198, 160, 178,], 
    "height":32, 
    "name":"Tile Layer 1", 
    "opacity":1, 
    "type":"tilelayer", 
    "visible":true, 
    "width":32, 
    "x":0, 
    "y":0 
    }, 

그리고있다. 레이어> 데이터에 정보가 필요합니다. 나는 $ worldarray [ 'layers'] [ 'data']와 같이 모든 종류의 방법으로 접근 해 보았지만 데이터로부터 값을 얻을 수없는 것 같다. 아무도 이것으로 나를 도울 수 있습니까? 미리 감사드립니다. 당신은 물론 그 이상의 층이 경우

$worldarray['layers'][0]['data'] 

, 당신은 그들을 반복해야합니다 layers으로

+0

더 복잡해 보이지만 그렇지 않습니다. 그냥 중첩 된. 'foreach ($ worldarray [ 'layers'] [0] [ 'data'] $ item)' – DanFromGermany

+0

우선; 'print_r (json_decode ($ string, true));의 결과는 무엇입니까? (0t : nice nick, jan lul;)) – giorgio

+0

pls 파일에있는 json 데이터를 보여줍니다 ... – Lab

답변

1

당신이 액세스 할 때 당신은 같은 인덱스를 제공해야하는 배열입니다.

+0

이렇게하면 데이터베이스에 아무 것도 추가되지 않습니다. 이것은 유일한 레이어 및 유일한 데이터입니다. –

1
$json = file_get_contents('url_here'); 
    $obj = json_decode($json); 
    echo $obj->access_token; 

이 희망 .I이 방법을 시도하는 것은 당신에게 도움이 모든 당신의 도움에 대한

0

감사를 할 수있다, 그것은 갑자기 '[레이어를 $ 배열을 사용하여 현재 작동 '] [0] ['data ']. 전에는 여러 번 그 작업을하지 못했습니다.