2

PHP マニュアルのように、yield は式の一部を使用できます。$data = (利回り $value); しかし、$myval には何も割り当てられません。私はここで何か間違っていますか?式でどのように使用できますか?

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

    }
    foreach (test_yield() as $value) {
        echo $value;
    }
4

1 に答える 1

5

From the PHP rfc:generators

The return value of the yield expression is whatever was sent to the generator using send(). If nothing was sent (e.g. during foreach iteration) null is returned.

Your foreach code never send()s anything into the generator, so yield always returns null.

于 2013-10-16T06:24:11.240 に答える