- ini_set: documentation ( source)
- range: documentation ( source)
<?php
ini_set('error_reporting', -1);
ini_set('display_errors', 'on');
class Foo
{
private static $a = [];
public function __construct()
{
for($i=0; $i < 100; $i++) {
self::$a = self::$a + range('A', 'Z');
}
}
public function generator()
{
foreach (self::$a as $i) {
yield $i;
}
self::$a = [];
}
}
$foo = new Foo;
$generator = $foo->generator();
if ($generator->valid()) {
foreach($generator as $i) {
echo $i;
}
} else {
echo 'Nothing';
}
$generator = $foo->generator();
if ($generator->valid()) {
foreach($generator as $i) {
echo $i;
}
} else {
echo 'Nothing';
}