我有一个有私人会员的班级$content
.这是由get方法包装的:
class ContentHolder { private $content; public function __construct() { $this->content = ""; } public function getContent() { return $this->content; } } $c = new ContentHolder(); $foo = array(); $foo['c'] = $c->getContent();
现在$foo['c']
是一个参考content
,这是我不明白的.我怎样才能获得价值?先感谢您.
我刚试过你的代码而$foo['c']
不是参考$content
.(分配新值$foo['c']
不会影响$content
.)
默认情况下,所有PHP函数/方法都按值传递参数并按值返回.要通过引用返回,您需要将此语法用于方法定义:
public function &getContent() { return $this->content; }
调用方法时这个语法:
$foo['c'] = &$c->getContent();
见http://ca.php.net/manual/en/language.references.return.php.