🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
### 1.Iterator 作为返回类型和函数参数 `注意:iterator 的“i”是小写的,顶级接口,Iterator是它的子孙接口 ` **该函数可以被foreach 遍历** ~~~ <?php // Iterable iterable /** * @param iterable $iterator iterable作为参数 * */ function index1(iterable $iterator){ var_dump($iterator); } $data=new ArrayObject([1,3,4]); index1( $data); // object(ArrayObject)#1 (1) { ["storage":"ArrayObject":private]=> array(3) { [0]=> int(1) [1]=> int(3) [2]=> int(4) } } 2 /** * @param int $vsh * @return iterator iterator作为返回值 * */ function gen(int $vsh):iterator { for ($vsh;$vsh<10;$vsh++) { yield $vsh; } } foreach (gen(2) as $value){ echo $value."<br>"; } //输出 //3 //4 //5 //6 //7 //8 //9 ~~~ ### 子类或者子接口 [接口Traversable继承Iterator接口](%E6%8E%A5%E5%8F%A3Traversable%E7%BB%A7%E6%89%BFIterator%E6%8E%A5%E5%8F%A3.md)