0

嗨,我正在尝试遍历一个 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
4

3 回答 3

2

尝试:

foreach ($json_output->results as $object){
    print "{$object->title}\n";
}
于 2013-07-03T05:39:20.197 回答
1

您可以尝试的另一种方法是将 json 解码为数组而不是对象。

$json_output = json_decode($json,true);

通过在 json_decode()函数中将变量作为 true 传递,您将获得 json_output 作为一个可以轻松遍历的数组。

别的

你可以循环

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

请参阅http://php.net/manual/en/function.json-decode.php上的 json_decode() 函数 php 手册指南

于 2013-07-03T05:46:35.573 回答
0

我希望这对你有帮助

尝试使用object

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

让我知道我是否可以为您提供更多帮助

于 2013-07-03T05:35:01.413 回答