值得注意的是,PHP 开发人员确实修复了 Sam 在 2013 年评论中提出的问题(根据他在这里的评论线程:https://bugs.php.net/bug.php?id=34783#1366088374),至少从 PHP 5.3.8 开始。
因此,您*可以*(并且在大多数情况下应该)使用引用语法重载 offsetGet 以获得预期的功能
<?php
class myArrayType extends ArrayAccess {
public function &offsetGet($index) {
// ...
}
}
?>