久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

PHP基礎之生成器3——生成器對象

瀏覽:15日期:2022-09-15 09:44:59

當一個生成器函數被第一次調用,會返回一個內部Generator類的對象. 這個對象以和前臺迭代器對象幾乎同樣的方式實現了Iterator?接口。

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

CautionGenerator?對象不能通過new實例化

Example #1 The?Generator?class

<?php class Generator implements Iterator {public function rewind(); //Rewinds the iterator. 如果迭代已經開始,會拋出一個異常。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); // 發送給定值到生成器,作為yield表達式的結果并繼續執行生成器. }?>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!

標簽: PHP
相關文章:
主站蜘蛛池模板: 宁晋县| 屏南县| 九龙坡区| 乾安县| 衢州市| 滦南县| 奇台县| 潮州市| 卢氏县| 南城县| 商都县| 云龙县| 蚌埠市| 新疆| 天峻县| 安仁县| 乌鲁木齐县| 思南县| 孟村| 巴彦县| 洛宁县| 洛隆县| 页游| 建湖县| 宁阳县| 南丹县| 综艺| 白水县| 沙湾县| 平武县| 汶川县| 阳春市| 荆门市| 昌邑市| 厦门市| 牙克石市| 黔南| 黎川县| 临夏县| 高安市| 两当县|