牛牛在线工具

Fiber::getReturn()

收录 8868 个 PHP 函数,含用途说明与用法示例。

Fiber::getReturn()

获取在协程中使用 yield 关键字返回的值

函数名称:Fiber::getReturn() 适用版本:PHP 8.1.0 或更高版本 函数描述:Fiber::getReturn() 方法用于获取在协程中使用 yield 关键字返回的值。 用法示例: function myCoroutine() { yield 'Hello'; yield 'World'; return 'Finished'; } $fiber = new Fiber('myCoroutine'); $fiber->start(); while ($fiber->status() === Fiber::STATUS_SUSPENDED) { echo $fiber->getCurrent() . PHP_EOL; // 输出协程中的 yield 值 $fiber->resume(); } echo $fiber->getReturn(); // 输出协程中使用 return 返回的值 在上面的示例中,我们定义了一个名为 myCoroutine 的协程函数,其中使用了 yield 关键字返回了两个值,最后使用 return 返回了一个结束标记。 然后,我们创建了一个 Fiber 对象,并将 myCoroutine 函数作为参数传递给它。接下来,我们调用了 start() 方法来启动协程。 在一个循环中,我们使用 status() 方法检查协程的状态是否为 STATUS_SUSPENDED,如果是,则表示协程还未执行完毕。在循环中,我们使用 getCurrent() 方法获取当前协程中使用 yield 返回的值,并将其输出。 当协程执行完毕后,我们使用 getReturn() 方法获取协程中使用 return 返回的值,并将其输出。在上面的示例中,getReturn() 方法将输出字符串 'Finished'。 请注意,Fiber 类是在 PHP 8.1.0 中引入的,因此只有在该版本或更高版本的 PHP 中才能使用 Fiber::getReturn() 方法。