-2

在 PHP 中,我们可以执行以下操作吗?

class a{
    public $id;
}

我们可以用这样的东西访问这个字段吗?

$x='id';
$aObj=new a();
$aObj->$x=1;//or $aObj->"id"=1
4

2 回答 2

2

是的,你可以,但不鼓励。

要使用类似的东西,$aObj->"id"=1只需将名称放入括号中

$aObj->{"id"} = 1;

如果您问为什么不鼓励这样做,那很容易:它是不可预测的,无法维护的。

于 2012-04-08T11:11:14.383 回答
1

这应该是可能的:

class a {
    public $id;

    function getId() {
        return $this->id;
    }
}

$x = 'id';
$aObj = new a();
$aObj->$x = 500;

echo $aObj->id, " ", $aObj->getId();

给出:(500 500用 PHP 5.3 测试)

于 2012-04-08T11:09:48.863 回答