PHP 8.4.1 Released!

Generator::current

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

Generator::currentObtém o valor gerado

Descrição

public Generator::current(): mixed

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna o valor gerado.

adicione uma nota

Notas Enviadas por Usuários (em inglês) 3 notes

up
2
gib-o-master
3 years ago
current() advances untouched generator, same as next(), it makes the first step/iteration. the following calls will not.

non-yielded value will be NULL
up
0
ctx2002 at gmail dot com
23 days ago
I think what "gib-o-master" said is wrong.
Generator::current method does not advances "untouched generator".

let me give an example:

function y1()
{
yield 1;
}

$g = y1();

if ($g->valid()) { //at this point, PHP outputs "valid"
echo "valid\n";
}

echo "current v:" . $g->current() . "\n"; //at this point, PHP outputs current v:1

if ($g->valid()) { //at this point, PHP still outputs "valid"
echo "valid\n";
} else {
echo "not valid\n";
}

if Generator::current method advances generator, then above If statement should outputs "not valid"
up
0
mrsoftware73 at gmail dot com
6 years ago
<?php
function gen_one_to_three() {
for (
$i = 1; $i <= 3; $i++) {
// Note that $i is preserved between yields.
yield $i;
}
}

$generator = gen_one_to_three();
foreach (
$generator as $value) {
echo
"regular : ".$value , PHP_EOL;
echo
"With current function : ".$generator->current(),PHP_EOL;
}
?>
To Top