php - 扩展 PHP ArrayObject 导致错误的下标值
问题描述
以下代码打印1
而不是4
. 这是为什么?我正在使用 PHP 7.2.9。
<?php
class MyArray extends ArrayObject {
public function offsetGet($i) {
if ($i == 'length') {
return $this->count();
} else {
return parent::offsetGet($i);
}
}
}
$a = new MyArray;
$a->append(4);
echo $a[0];
解决方案
推荐阅读
- java - 模拟静态块(错误:java.lang.IllegalStateException)
- java - 为什么当我尝试解析当前 LocalDateTime 时出现解析异常
- haskell - 使用haskell项目euler 25的慢速解决方案
- javascript - 在 TestCafé 测试中注入的 injectScripts 中的脚本在哪里?
- r - 使用 cor.test 和 rcorr 的不同 P 值
- c# - ASP.Net MVC 应用程序默认为 TLS 1.0
- elasticsearch - Elasticsearch Curator - 删除除最新以外的索引
- mysql - Dockerfile 中的入口点
- maven - 尽管在 Spring Cloud doc 中有这样的描述,但我不能为我的项目的父版本使用属性
- execution - Windows7 上的 Python 2.7 项目目录设置