我有一个API JSON元素,它返回一个包含以下某些内容的数组:
Array(
[page] => 1
[perPage] => 25
[totalResults] => 161
[totalPages] => 7
[results] => Array of interesting information
我知道如何查询[GET]单个页面,并且可以轻松解析25 [结果]并访问[页面]上的有趣信息。但是,如果我没有在查询中指定[页面],我仍然可以从[page] =>开始获得完整的结果。 1.
我的问题是有一种从[page] =>迭代的方法1到[page] => 7,同时迭代每个[结果]类似于下面的代码示例?
即。这仅对页面有效,
// Display the results we are after
for ($x=0; $x < $json[perPage]; $x++) {
echo $json[results][$x][title] .'<br>';
echo $json[results][$x][start] .'<br>';
}
修改的
我可以使用API的多个选项来执行cURL,其中一个选项是指定要在JSON中返回的特定页面,或者仅接受默认返回的内容。
CURLOPT_URL => $communityUrl . 'api/calendar/events' . '?sortBy=title',
或
CURLOPT_URL => $communityUrl . 'api/calendar/events' . '?sortBy=title&page=2',
我认为我们很接近,但只是遗漏了一些方面,虽然我不确定是什么。不知怎的,$ json [page]需要在我们浏览$ json [results]时进行迭代。我还在尝试其他组合。
答案 0 :(得分:0)
你要做的是: -
1.不要指定[page],以便所有页面数据都在单数组
中 2.应用foreach()
两次遍历数组
3.获取所需数据
foreach($json as $js){
foreach($json[results] as $jr){
echo $jr[title] .'<br>';
echo $jr[start] .'<br>';
}
}
答案 1 :(得分:0)
对于这个特定的REST API,每次都必须查询改变页面的API。没有所有事件的完整查询转储。