日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php生成对象吗,php生成器对象

發(fā)布時間:2024/4/14 php 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php生成对象吗,php生成器对象 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

當一個生成器函數(shù)被第一次調(diào)用,會返回一個內(nèi)部Generator類的對象. 這個對象以和前臺迭代器對象幾乎同樣的方式實現(xiàn)了Iterator 接口。

Generator 類中的大部分方法和Iterator 接口中的方法有著同樣的語義, 但是生成器對象還有一個額外的方法: send().

CautionGenerator 對象不能通過new實例化

Example #1 The Generator class<?php

class Generator implements Iterator {

public function rewind(); //Rewinds the iterator. 如果迭代已經(jīng)開始,會拋出一個異常。

public function valid(); // 如果迭代關閉返回false,否則返回true.

public function current(); // Returns the yielded value.

public function key(); // Returns the yielded key.

public function next(); // Resumes execution of the generator.

public function send($value); // 發(fā)送給定值到生成器,作為yield表達式的結果并繼續(xù)執(zhí)行生成器.

}

?>

Generator::send()

當進行迭代的時候Generator::send() 允許值注入到生成器方法中. 注入的值會從yield語句中返回,然后在任何使用生成器方法的變量中使用.

Example #2 Using Generator::send() to inject values<?php

function printer() {

while (true) {

$string = yield;

echo $string;

}

}

$printer = printer();

$printer->send('Hello world!');

?>

以上例程會輸出:Hello world!

本文原創(chuàng)發(fā)布php中文網(wǎng),轉(zhuǎn)載請注明出處,感謝您的尊重!

總結

以上是生活随笔為你收集整理的php生成对象吗,php生成器对象的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。