快速规格:
PHP 5.3
error_reporting(-1) // the highest
我正在使用__get()
按引用技巧神奇地访问对象中任意深度的数组元素。
快速示例:
public function &__get($key){
return isset($this->_data[$key])
? $this->_data[$key]
: null;
}
这不起作用,因为当$key
未设置时,它会尝试null
通过引用返回,这当然会抛出Only variable references should be returned by reference ...
我尝试按如下方式修改它:
public function &__get($key){
$null = null;
return isset($this->_data[$key])
? $this->_data[$key]
: $null;
}
虽然仍然不起作用,我假设该设置$null
基本上null
是unset()
它。
我能做些什么?谢谢!
只是想我会推广这个问题,因为它有点相关(PHP魔法和参考);__callStatic()、call_user_func_array()、参考和 PHP 5.3.1。我还没有找到答案......除了修改 PHP 核心。