php - PHP ArrayIterator 和 current()
问题描述
我有这段 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();
PHP 5.3 的输出如下:
PHP 5.3.8
object(stdClass)#805 (1) {
["test"]=>
int(1)
}
而 PHP 7.4.8 的输出如下:
PHP 7.4.8
file.php:33:boolean false
为什么这不再起作用了?
解决方案
推荐阅读
- visual-studio - 如何在 VS2017 中查看单元测试的结果?
- sql-server - 在 Access 中查询链接表时出现错误 3035
- android - 谷歌任务 API
- java - 在启动 Spring Boot 应用程序时获取为 MethodArgumentNotValidException 映射的不明确的 @ExceptionHandler 方法
- php - 为什么我的第二个函数总是返回 false?另外,为什么我的 if 语句中的代码无论如何都会运行?
- swift - 确定 NSImageView 是否突出显示
- png - 使用 Pillow 保存为 JPEG 的图像与原始图像不同。
- raspberry-pi - Raspberry Pi - SPI 设备树更改
- python - Django - 扩展页面未填充
- mysql - SSMA 列“列”不允许 DBNull。价值