PHP 迭代器


定义和用法

从 7.1 版本开始,PHP 提供了一种称为可迭代的新伪类型。任何实现了可遍历接口的对象(如数组)都会被它接受。此类型使用 foreach 构造或一次生成一个值的生成器函数。

语法

一个函数可以将可迭代作为其参数的类型,以允许该函数接受在foreach语句中使用的一组值。如果该参数不支持 foreach 循环,PHP 解析器会抛出TypeError

示例

 在线示例

<?php
$arr1=array("PHP","Java","Python");
function myfunc (iterable $arr1){
   foreach ($arr1 as $lang){
      echo $lang . "
";    } } myfunc($arr1); ?>

产出

将产生以下结果 -

PHP
Java
Python

PHP 函数还可以返回可迭代的数据类型,如数组。我们使用 **is_iterable()** 函数来验证返回值的类型。

示例

 在线示例

<?php
function newfunc ():iterable{
   $arr2=[];
   for ($i=1;$i<4;$i++){
      $arr2[$i]=$i*2;
   }
   return $arr2;
}
$ret=newfunc();
var_dump (is_iterable($ret));
?>

产出

将产生以下结果 -

bool(true)

以下是具有可迭代返回类型的生成器的示例

示例

<?php
function gen(): iterable {
   yield 1;
   yield 2;
   yield 3;
}
gen();
?>

PHP 版本

可迭代伪类型是在 PHP 7.1 中引入的

更新于: 19-Sep-2020

774 次浏览

开启你的 职业之旅

完成课程即可获得认证

立即开始
广告