<?php
$func = function() {
$key = 0;
while (true) {
yield 'key' . $key => mt_rand(1, 10);
$key++;
}
};
$generator = $func();
// I need 5 random numbers
$generator->rewind();
for ($i = 0; $i < 5; $i++) {
echo $generator->key() .
' - ' . $generator->current() .
PHP_EOL;
$generator->next();
}