1. 程式人生 > >記錄PHP生成器的一些特性

記錄PHP生成器的一些特性

() art net blog hello tails 代碼 nbsp gen

學習PHP的生成器,測試了一些特性。代碼如下:

function gen()
{
    $name = (yield ‘hello‘);
    $nickname = (yield ‘world‘);
    yield ‘!!!‘;
    echo $name;
    echo ‘---‘.$nickname;
}

$gen = gen();

echo $gen->key(),‘:‘,$gen->current();//0:hello
echo $gen->key(),‘:‘,$gen->current();//0:hello
echo $gen->key(),‘:‘,$gen
->send(‘jack‘);//0:world echo $gen->key(),‘:‘,$gen->current();//1:world echo $gen->key(),‘:‘,$gen->send(‘mysic‘);//!!! echo $gen->key(),‘:‘,$gen->current();//!!! echo $gen->key();//2 echo $gen->current();//!!! echo $gen->next();//jack---mysic echo (int)$gen->valid();//0
echo $gen->key();//null echo $gen->send(‘haha‘);//null echo $gen->key();//null echo $gen->current();//null echo $gen->next();//null

PHP協程實現過程詳解

記錄PHP生成器的一些特性