note 118776 added to class.generator
| From: | Pistachio | Date: | Fri, 05 Feb 2016 00:04:37 +0000 |
| Subject: | note 118776 added to class.generator | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-204857@lists.php.net to get a copy of this message | ||
Unlike return, yield can be used anywhere within a function so logic can flow more naturally. Take
for example the following Fibonacci generator:
<?php
function fib($n)
{
$cur = 1;
$prev = 0;
for ($i = 0; $i < $n; $i++) {
yield $cur;
$temp = $cur;
$cur = $prev + $cur;
$prev = $temp;
}
}
$fibs = fib(9);
foreach ($fibs as $fib) {
echo " " . $fib;
}
// prints: 1 1 2 3 5 8 13 21 34
----
Server IP: 72.52.91.14
Probable Submitter: 162.220.76.6
----
Manual Page -- http://php.net/manual/en/class.generator.php
Edit -- https://master.php.net/note/edit/118776
Del: integrated -- https://master.php.net/note/delete/118776/integrated
Del: useless -- https://master.php.net/note/delete/118776/useless
Del: bad code -- https://master.php.net/note/delete/118776/bad+code
Del: spam -- https://master.php.net/note/delete/118776/spam
Del: non-english -- https://master.php.net/note/delete/118776/non-english
Del: in docs -- https://master.php.net/note/delete/118776/in+docs
Del: other reasons-- https://master.php.net/note/delete/118776
Reject -- https://master.php.net/note/reject/118776
Search -- https://master.php.net/manage/user-notes.php