【发布时间】:2015-11-02 10:35:39
【问题描述】:
我正在创建一个使用 3rd 方 API 的 PHP 类。 API 有一个具有此请求 URL 结构的方法:
https://api.domain.com/path/sales?page=x
其中“x”是页码。
每页返回 50 个销售额,我需要为每个用户返回不确定数量的页面(取决于用户销售额)并存储每次销售的一些数据。
我已经创建了一些从 URL 获取数据、解码并使用所需数据创建新数组的方法,但仅限于第一个页面请求。
现在我想创建一个方法来检查是否有另一个页面,如果有,获取它并再次检查
如何检查是否还有其他页面?以及如何创建一个循环来获取另一个页面(如果有的话)?
我已经有了这段代码,但它会创建一个无限循环。
require('classes/class.example_api.php');
$my_class = new Example_API;
$page = 1;
$sales_url = $my_class->sales_url( $page );
$url = $my_class->get_data($sales_url);
while ( !empty($url) ) {
$page++;
$sales_url = $my_class->sales_url( $page );
$url = $my_class->get_data($sales_url);
}
我不使用 CURL,我使用 file_get_content。当我请求超出范围的页面时,我得到以下结果:
string(2) "[]"
这是json_decode之后的另一个:
array(0) { }
【问题讨论】:
-
输入超出范围的页面时api返回什么?
-
假设您使用 CURL,当您尝试访问不存在的页码时,请求是否返回 200 以外的内容?
-
谢谢!我编辑了问题以回答您的问题。
标签: php api pagination