PHP ArrayIterator 和 current()

and*_*eas 5 php arrayiterator

我有这段PHP代码:

echo 'PHP ' . phpversion()."\n";

$arr = array();
for ($i=0; $i<10; $i++)
{
    $arr[] = new stdClass();
}

$it = new ArrayIterator($arr);

$i = 1;
foreach ($it as $obj)
{
    $obj->test = $i;
    $i++;
}

var_dump(current($it));

die();
Run Code Online (Sandbox Code Playgroud)

PHP 5.3 的输出如下:

PHP 5.3.8
object(stdClass)#805 (1) {
  ["test"]=>
  int(1)
}
Run Code Online (Sandbox Code Playgroud)

PHP 7.4.8 上的输出如下:

PHP 7.4.8
file.php:33:boolean false
Run Code Online (Sandbox Code Playgroud)

为什么这不再起作用了?