【发布时间】:2015-03-05 09:31:24
【问题描述】:
我使用的 API 仅限于在单个请求中返回 100 个项目 - 他们已经实现了偏移量,这应该允许循环通过多个请求,但我不知道如何将两者结合起来。
目前我正在使用它返回 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 中添加它,那么它将永远不会满足,因为永远不会定义偏移量?
如何使用偏移量循环遍历所有项目 - 实际上,将两组代码结合起来?
【问题讨论】:
-
你可以试试
do- while请检查php.net 你会看到那里的例子,在他们的文档例子中,第一个reqeust 应该在do和if子句应该在@987654326 @条件