2013-06-19 3 views
-1

I have a json file (대용량, 같은 파일의 xml 버전은 19000 선이 이런 식으로 뭔가 간다) 길이 :foreach()를 사용할 때 비어 있지 않은 null이 아닌 배열이 계속 '경고 : foreach()에서 제공됨'오류 메시지가 표시됩니다.

object(stdClass)#1 (1) { 
    ["result"]=> object(stdClass)#2 (13) { 
     ["items"]=> array(1628) { 
      [0]=> object(stdClass)#27 (18) { 
       ["image_url"]=> string(95) "http://media.steampowered.com/apps/440/icons/c_bat.d037d6a40ec30ab4aa009387d476dca889b6f7dc.png" 
      } 
      [1]=> object(stdClass)#29 (18) { 
       ["image_url"]=> string(98) "http://media.steampowered.com/apps/440/icons/w_bottle.859ddb315a2748f04bcc211aa7a04f2c926e6169.png" 
      } 
     } 
    } 
} 

나는 '항목'배열의 각 개체의 이미지 URL을 얻고 싶은, 그리고 나는이와 그렇게하려고 :

<?PHP 

$api = "http://api.steampowered.com/IEconItems_440/GetSchema/v0001/?key=yoink&language=en_US&format=json"; 

$json = file_get_contents($api); 

$schema = json_decode($json); 

print count($schema->result->items); 

foreach($schema->results->items as $item) { 
    print "{$item->image_url}"; 
} 

?> 

을하지만, 인쇄 할 페이지를 확인하면 다음과 같이 표시됩니다.

1628 Warning: Invalid argument supplied for foreach() in - on line 13 

이제이 배열은 count가 1628을 반환하므로 분명히 비어 있지 않다는 것을 알았고 위의 것처럼 이전에 var_dump가 있었으므로 null이 아닙니다. 아무도 내가 잘못한 곳으로 나를 도울 수 있습니까?

편집 : 읽는 법을 배워야합니다. 이 질문을 닫으시기 바랍니다.

+0

각 항목은 항상 이미지 URL이 있습니까? 누락 된 부분이 있으면 그 오류가 발생합니다. – andrewsi

답변

0

오타. 그것은 results이 아니며, result입니다.

foreach($schema->result->items as $item) { 
    print "{$item->image_url}"; 
} 
1

오타 변경 :

foreach($schema->results->items as $item) { 
         ^-- here 

에 :

foreach($schema->result->items as $item) {