2

PHP (5.4.x) 是否允许创建可以放入 foreach 循环的自定义迭代器?(我见过一个相当笨重的迭代器示例)

我正在访问一个 Web API,它每次调用只允许一个人提取 N 行/对象,这会导致本地代码笨拙 - 即用于从 API 获取一批数据的外循环和用于处理每批元素的内循环.

我更愿意将外部循环推入迭代器(拉下数据块并跟踪外部 API 等的索引),这样我就可以编写更像这样的代码:

$datastream = new ApiIterator(/*params here*/);
foreach($datastream as $row){
   // do inner loop processing here
}

谢谢!

4

1 回答 1

1

可以从 PHP 5.0 开始,您需要使用 PHP 的 Class Iterator 接口 ( http://php.net/manual/en/class.iterator.php ) 并在您的 ApiIterator Class 中扩展它(实现)

于 2013-04-21T15:59:16.670 回答