2013-07-03 6 views
0

안녕하세요, json 배열의 객체를 통해 반복하려하지만 문자 그대로 아무것도 얻지 못합니다. 여기에 내 시도가 있습니다.객체의 루프를 통해 json 배열

$jsonurl = 'http://eol.org/api/search/1.0.json?q='."$searchvar".'&page=1&exact=false&  filter_by_taxon_concept_id=&filter_by_hierarchy_entry_id=&filter_by_string=&cache_ttl='; 
$json = file_get_contents($jsonurl,0,null,null); 
$json_output = json_decode($json); 

foreach ($json_output->dataObjects as $objects){ 
    print "{$objects->title}\n"; 
} 

여기에 실제 json 배열의 구조가 있습니다.

array 

0 object 
    id  19076 
    title Vulpes 
    link http://eol.org/19076?action=overview&controller=taxa 
    content Arctic foxes; kit foxes; red foxes; red fox 

답변

2

시도 :

foreach ($json_output->results as $object){ 
    print "{$object->title}\n"; 
} 
+0

에서 json_decode() 함수 PHP 매뉴얼의 설명서를 참조하고 일을주세요! 고마워요. 선생님. – Squirtle

+0

. 문제는 JSON에서 "결과"로 정의 된 배열 이름입니다. "데이터 객체" –

+0

정답으로 표시 하시겠습니까? –

0

내가이 당신에게 object

foreach ($json_output->dataObjects as $objects){ 

와 함께 캐스팅 종류에

시도 내가 당신을 도울 수 있다면 알려 주시기 도움이 될 수있는 희망을 더

1

시도해 볼 수있는 또 다른 방법은 json을 객체 대신 배열로 디코딩하는 것입니다. json_decode에 참으로 가변적이고을 전달하여

$json_output = json_decode($json,true); 

() 기능을 쉽게 통과 할 수있는 배열로 json_output을 얻을 것이다.

foreach ($json_output->results as $object){ 
    echo "{$object->title}\n"; 
} 

을 통해 그 밖에

당신이 루프 할 수

http://php.net/manual/en/function.json-decode.php

관련 문제