Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php “有什么用?”;“收益率”;在表达式上下文中?_Php_Generator_Yield - Fatal编程技术网

Php “有什么用?”;“收益率”;在表达式上下文中?

Php “有什么用?”;“收益率”;在表达式上下文中?,php,generator,yield,Php,Generator,Yield,正如在php手册中一样,yield可以使用部分表达式$数据=(收益率$value);但它没有为$myval分配任何内容。我做错什么了吗?我们如何在表达式中使用它 function test_yield(){ for ($i=0; $i <10; $i++) { $myval = (yield $i); echo " \ ".$myval." / <br />"; } }

正如在php手册中一样,yield可以使用部分表达式$数据=(收益率$value);但它没有为$myval分配任何内容。我做错什么了吗?我们如何在表达式中使用它

     function test_yield(){
        for ($i=0; $i <10; $i++) { 
             $myval = (yield $i);
             echo " \ ".$myval." / <br />";
        }

    }
    foreach (test_yield() as $value) {
        echo $value;
    }
功能测试{
对于来自PHP的($i=0;$i)

yield
表达式的返回值是使用
send()
发送到生成器的值。如果未发送任何内容(例如在
foreach
迭代期间),则返回
null

您的
foreach
代码从不将任何内容放入生成器,因此
yield
始终返回
null