代码拉取完成,页面将自动刷新
同步操作将从 my_teste/PHP Generator Yield Demo 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
<?php
require_once __DIR__ . '/yieldFromFunctions.php';
$gen = yield_from_func2();
echo 'yield_from_func1 is PHP Generator? :';
var_export($gen instanceof Generator);
echo PHP_EOL . PHP_EOL;
$gen = yield_from_func4(false);
echo 'yield_from_func4 is PHP Generator? :';
var_export($gen instanceof Generator);
echo PHP_EOL . PHP_EOL;
/* ------ generator::current ------ */
echo 'eg: NO.1' . PHP_EOL;
$gen = yield_from_func2();
echo 'call yield_from_func2 current ' . PHP_EOL;
$re = $gen->current();
echo 'get yield_from_func2 current return :' ;
var_export($re);
echo PHP_EOL;
$re = $gen->current();
echo 'get yield_from_func2 current second return :' ;
var_export($re);
echo PHP_EOL . PHP_EOL;
echo 'eg: NO.2' . PHP_EOL;
$re2 = $gen->send('a'); // !!!
echo 'get yield_from_func2 send return :' ;
var_export($re2);
echo PHP_EOL;
$re = $gen->current();
echo 'get yield_from_func2 current return :' ;
var_export($re);
echo PHP_EOL;
$re = $gen->next();
echo 'get yield_from_func2 next return :' ;
var_export($re);
echo PHP_EOL;
$re = $gen->current();
echo 'get yield_from_func2 current return :' ;
var_export($re);
echo PHP_EOL . PHP_EOL;
echo 'eg: NO.3' . PHP_EOL;
$gen = yield_from_func2();
echo 'call yield_from_func2 send ' . PHP_EOL;
$reArr = array();
$reArr[] = $gen->send('a');
echo 'get yield_from_func2 call send twice ' . PHP_EOL;
$reArr[] = $gen->send('b');
echo 'get yield_from_func2 call send third ' . PHP_EOL;
$reArr[] = $gen->send('c');
echo 'get yield_from_func2 call send forth ' . PHP_EOL;
$reArr[] = $gen->send('d');
var_export($reArr);
echo PHP_EOL . PHP_EOL;
echo 'eg: NO.4' . PHP_EOL;
$gen = yield_func10();
echo 'call yield_func7 send 1 ' . PHP_EOL;
$re = $gen->send(1); // !!!
echo 'get yield_func7 send 1 return :';
var_export($re);
echo PHP_EOL . PHP_EOL;
echo 'eg: NO.5' . PHP_EOL;
$gen = yield_from_func3();
echo 'yield_from_func4 is PHP Generator? :';
var_export($gen instanceof Generator);
echo PHP_EOL;
echo 'call yield_from_func2 current ' . PHP_EOL;
// $re = $gen->current(); // Fatal error: Uncaught Error: Can use "yield from" only with arrays and Traversables
echo PHP_EOL;
echo PHP_EOL;
echo 'eg: NO.6' . PHP_EOL;
$gen = yield_from_func5();
$reArr = array();
echo 'call yield_from_func2 current ' . PHP_EOL;
$reArr[] = $gen->current();
echo 'call yield_from_func2 send ' . PHP_EOL;
$reArr[] = $gen->send('a');
echo 'get yield_from_func2 call send twice ' . PHP_EOL;
$reArr[] = $gen->send('b');
echo 'get yield_from_func2 call send third ' . PHP_EOL;
$reArr[] = $gen->send('c');
echo 'reArr var_export :' ;
var_export($reArr);
echo PHP_EOL . PHP_EOL;
echo 'eg: NO.7' . PHP_EOL;
$gen = yield_from_func6();
$reArr = array();
echo 'call yield_from_func6 current ' . PHP_EOL;
$reArr[] = $gen->current();
echo 'call yield_from_func6 send ' . PHP_EOL;
$reArr[] = $gen->send('a');
echo 'get yield_from_func6 call send twice ' . PHP_EOL;
$reArr[] = $gen->send('b');
echo 'get yield_from_func6 call send third ' . PHP_EOL;
$reArr[] = $gen->send('c');
echo 'reArr var_export :' ;
var_export($reArr);
echo PHP_EOL . PHP_EOL;
echo 'eg: NO.8' . PHP_EOL;
// $gen = yield_from_func7(); // Fatal error: Uncaught Error: Can use "yield from" only with arrays and Traversables
echo PHP_EOL . PHP_EOL;
echo 'eg: NO.9' . PHP_EOL;
$gen = yield_from_func8();
$reArr = array();
echo 'call yield_from_func8 current ' . PHP_EOL;
$reArr[] = $gen->current();
echo 'call yield_from_func8 send ' . PHP_EOL;
$reArr[] = $gen->send('a');
echo 'get yield_from_func8 call send twice :' . PHP_EOL;
$reArr[] = $gen->send('b');
echo 'get yield_from_func8 call send third ' . PHP_EOL;
$reArr[] = $gen->send('c');
echo 'get yield_from_func8 call send forth ' . PHP_EOL;
$reArr[] = $gen->send('d');
echo 'reArr var_export :' ;
var_export($reArr);
echo PHP_EOL . PHP_EOL;
echo 'eg: NO.10' . PHP_EOL;
$gen = yield_from_func9();
$reArr = array();
echo 'call yield_from_func9 current ' . PHP_EOL;
$reArr[] = $gen->current();
echo 'call yield_from_func9 send ' . PHP_EOL;
$reArr[] = $gen->send('a');
echo 'get yield_from_func9 call send twice :' . PHP_EOL;
$reArr[] = $gen->send('b');
echo 'get yield_from_func9 call send third ' . PHP_EOL;
$reArr[] = $gen->send('c');
echo 'get yield_from_func9 call send forth ' . PHP_EOL;
$reArr[] = $gen->send('d');
echo 'reArr var_export :' ;
var_export($reArr);
echo PHP_EOL . PHP_EOL;
echo 'eg: NO.12' . PHP_EOL;
$gen = yield_from_func10();
$reArr = array();
echo 'call yield_from_func10 current ' . PHP_EOL;
$reArr[] = $gen->current();
echo 'call yield_from_func10 send ' . PHP_EOL;
$reArr[] = $gen->send('a');
echo 'get yield_from_func10 call send twice ' . PHP_EOL;
$reArr[] = $gen->send('b');
echo 'get yield_from_func10 call send third ' . PHP_EOL;
$reArr[] = $gen->send('c');
echo 'get yield_from_func10 call send forth ' . PHP_EOL;
$reArr[] = $gen->send('d');
echo 'reArr var_export :' ;
var_export($reArr);
echo PHP_EOL . PHP_EOL;
echo 'eg: NO.13' . PHP_EOL;
$gen = yield_from_func11();
$reArr = array();
$i = 100;
echo 'call yield_from_func12 current ' . PHP_EOL;
$reArr[] = $gen->current();
do {
echo 'call yield_from_func12 send ' . PHP_EOL;
$reArr[] = $gen->send($i++);
} while ($gen->valid());
echo 'reArr var_export :' ;
var_export($reArr);
echo PHP_EOL . PHP_EOL;
echo 'eg: NO.14' . PHP_EOL;
$gen = yield_from_func13();
$reArr = array();
echo 'call yield_from_func13 current ' . PHP_EOL;
$reArr[] = $gen->current();
$reArr[] = $gen->send('a');
$reArr[] = $gen->send('b');
$reArr[] = $gen->send('c');
$reArr[] = $gen->send('d');
echo 'reArr var_export :' ;
var_export($reArr);
echo PHP_EOL . PHP_EOL;
echo 'eg: NO.15' . PHP_EOL;
$gen = yield_from_func14();
$reArr = array();
echo 'call yield_from_func14 current ' . PHP_EOL;
$reArr[] = $gen->current();
$reArr[] = $gen->send('a');
$reArr[] = $gen->send('b');
$reArr[] = $gen->send('c');
$reArr[] = $gen->send('d');
echo 'reArr var_export :' ;
var_export($reArr);
echo PHP_EOL . PHP_EOL;
echo 'eg: NO.16' . PHP_EOL;
foreach (yield_from_func2() as $value)
{
echo 'value is : ' . $value . PHP_EOL;
}
/* ------ generator::getReturn ------ */
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。