我想实现这样的效果:
class Foo {
public $bar; // array('aaa' => array('bbb' => 'ccc'))
public function __get($value)
{
return $this->bar[...][key($value)]; // don't know what to implement here
}
}
$obj = new Foo();
$obj->aaa['bbb']; // should return 'ccc'
这可能吗?我该怎么做?
如果我想以这种方式调用它,如何从 __get() 方法内部获取 Foo::$bar 数组的“ccc”值?
最佳答案
试试这个:
<?php
class Foo {
public $bar = array('aaa' => array('bbb' => 'ccc'));
public function __get($value) {
return $this->bar[$value];
}
}
$obj = new Foo();
echo $obj->aaa['bbb'];
将返回:
ccc
关于PHP、__get() 方法和数组参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13628435/