脚本宝典收集整理的这篇文章主要介绍了php – paginated api请求,如何知道是否还有其他页面?,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
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) { }
$url = $my_class->get_data($sales_url);
如果以上只是原始响应(因此,如果页面超出范围,则为字符串“[]”),它将永远不会为空(“[]”)为真.所以我的猜测是get_data的返回值是这个字符串,而它应该是实际的数组/ json,即使结果是空的(即我怀疑你在收集数据后执行json_decode,例如在循环之外).
如果是这种情况,我的建议是在循环中检查“[]”(例如while($url!==“[]”))或在循环内解码响应数据($url = json_decode( $URL)).
以上是脚本宝典为你收集整理的php – paginated api请求,如何知道是否还有其他页面?全部内容,希望文章能够帮你解决php – paginated api请求,如何知道是否还有其他页面?所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。