PHP生成器函数被调用返回什么对象

Admin 2022-09-16 群英技术资讯 298 次浏览

这篇文章主要介绍“PHP生成器函数被调用返回什么对象”,有一些人在PHP生成器函数被调用返回什么对象的问题上存在疑惑,接下来小编就给大家来介绍一下相关的内容,希望对大家解答有帮助,有这个方面学习需要的朋友就继续往下看吧。


当一个生成器函数被第一次调用,会返回一个内部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生成器函数被调用返回什么对象”的介绍了,感谢各位的阅读,如果大家想要了解更多相关的内容,欢迎关注群英网络,小编每天都会为大家更新不同的知识。
群英智防CDN,智能加速解决方案
标签: PHP

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

猜你喜欢

成为群英会员,开启智能安全云计算之旅

立即注册
专业资深工程师驻守
7X24小时快速响应
一站式无忧技术支持
免费备案服务
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
在线客服
微信公众号
返回顶部
返回顶部 返回顶部
在线客服
在线客服