男女疯狂一边摸一边做羞羞视频|啊好深好硬快点用力别停动态图|亚洲一区无码中文字幕|特级无码毛片免费视频播放▽|久久狠狠躁免费观看|国内精品久久久久久网站

Iterable 可迭代對象

Iterable是 PHP 7.1 中引入的一個(gè)偽類(lèi)型。它接受任何 array 或實(shí)現了 Traversable 接口的對象。這些類(lèi)型都能用 foreach 迭代, 也可以和 生成器 里的 yield from 一起使用。

使用可迭代對象

可迭代對象可以用作參數類(lèi)型,表示函數需要一組值, 但是不會(huì )關(guān)心值集的形式,因為它將與 foreach 一起使用。如果一個(gè)值不是數組或 Traversable 的實(shí)例,則會(huì )拋出一個(gè) TypeError。

示例 #1 Iterable 可迭代參數類(lèi)型示例

<?php

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

}

?>

聲明為可迭代的參數可能會(huì )使用 null 或者一個(gè)數組作為默認值。

示例 #2 可迭代參數默認值示例

<?php

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

?>

可迭代對象還可以用作返回類(lèi)型,表示函數將返回一個(gè)可迭代的值。 如果返回值不是數組或 Traversable 的實(shí)例,則會(huì )拋出一個(gè) TypeError。

示例 #3 可迭代返回類(lèi)型示例

<?php

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

?>

將可迭代對象聲明為返回類(lèi)型的函數也可能是 生成器。

示例 #4 可迭代生成器返回類(lèi)型的示例

<?php

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

?>

男女疯狂一边摸一边做羞羞视频|啊好深好硬快点用力别停动态图|亚洲一区无码中文字幕|特级无码毛片免费视频播放▽|久久狠狠躁免费观看|国内精品久久久久久网站