循环遍历带有偏移量的 API
Looping through an API with offsets
我正在使用一个 API,它仅限于在单个请求中返回 100 个项目 - 他们已经实现了偏移量,然后应该允许循环多个请求,但我无法理解如何组合两人
目前我正在使用这个 returns 100 项并为我提供我需要的所有数据等,但总共有大约 2,000 项,我需要将它们全部循环:
try {
$all = RestClient::all(array("limit" => 100));
foreach($all as $entry){
//do something
}
catch(Exception $e) {
print $e;
}
文档显示了如何使用偏移量的示例:
$resList = RestClient::all(array('limit'=>100));
echo $resList->nextOffset();
if($resList->nextOffset()) {
$resList = RestClient::all(array("limit" => 100, "offset" => $resList->nextOffset()));
echo $resList->nextOffset();
}
该示例没有显示任何循环,那么我的循环去哪里了?我需要多个循环吗?
如果我在第一个 $resList 之后添加一个循环,那么它会循环遍历这 100 个,但不会再循环,尽管我假设如果我将它添加到 if 中,那么它将永远不会被满足,因为永远不会定义偏移量?
如何使用偏移量遍历所有项目 - 实际上,合并两组代码?
$offset = 0;
while (true) {
$resList = RestClient::all(array('limit'=>100, , "offset" => $offset));
foreach($resList as $entry) {
// do something
}
if (!$resList->nextOffset()) {
brake;
}
$offset = $resList->nextOffset();
}
我正在使用一个 API,它仅限于在单个请求中返回 100 个项目 - 他们已经实现了偏移量,然后应该允许循环多个请求,但我无法理解如何组合两人
目前我正在使用这个 returns 100 项并为我提供我需要的所有数据等,但总共有大约 2,000 项,我需要将它们全部循环:
try {
$all = RestClient::all(array("limit" => 100));
foreach($all as $entry){
//do something
}
catch(Exception $e) {
print $e;
}
文档显示了如何使用偏移量的示例:
$resList = RestClient::all(array('limit'=>100));
echo $resList->nextOffset();
if($resList->nextOffset()) {
$resList = RestClient::all(array("limit" => 100, "offset" => $resList->nextOffset()));
echo $resList->nextOffset();
}
该示例没有显示任何循环,那么我的循环去哪里了?我需要多个循环吗?
如果我在第一个 $resList 之后添加一个循环,那么它会循环遍历这 100 个,但不会再循环,尽管我假设如果我将它添加到 if 中,那么它将永远不会被满足,因为永远不会定义偏移量?
如何使用偏移量遍历所有项目 - 实际上,合并两组代码?
$offset = 0;
while (true) {
$resList = RestClient::all(array('limit'=>100, , "offset" => $offset));
foreach($resList as $entry) {
// do something
}
if (!$resList->nextOffset()) {
brake;
}
$offset = $resList->nextOffset();
}