哈希空间 Ctrl + F 进行搜索
首页 php手册中文版 CSS中文手册 哈希文档 Markdown在线工具

Iterable 可迭代对象

Iterable是 PHP 7.1 中引入的一个伪类型。它接受任何 array 或实现了 Traversable 接口的对象。这些类型都能用 foreach 迭代, 也可以和 生成器 里的 yield from 一起使用。

使用可迭代对象

可迭代对象可以用作参数类型,表示函数需要一组值, 但是不会关心值集的形式,因为它将与 foreach 一起使用。如果一个值不是数组或 Traversable 的实例,则会抛出一个 TypeError

示例 #1 Iterable 可迭代参数类型示例

<?php

function foo(iterable $iterable) {
    foreach (
$iterable as $value) {
        
// ...
    

}

?>

声明为可迭代的参数可能会使用 null 或者一个数组作为默认值。

示例 #2 可迭代参数默认值示例

<?php

function foo(iterable $iterable = []) {
    
// ...
}

?>

可迭代对象还可以用作返回类型,表示函数将返回一个可迭代的值。 如果返回值不是数组或 Traversable 的实例,则会抛出一个 TypeError

示例 #3 可迭代返回类型示例

<?php

function bar(): iterable {
    return [
123];
}

?>

将可迭代对象声明为返回类型的函数也可能是 生成器

示例 #4 可迭代生成器返回类型的示例

<?php

function gen(): iterable {
    yield 
1;
    yield 
2;
    yield 
3;
}

?>
打开 哈希空间 微信小程序中查看更佳