在 PHP 中,我们可以执行以下操作吗?
class a{
public $id;
}
我们可以用这样的东西访问这个字段吗?
$x='id';
$aObj=new a();
$aObj->$x=1;//or $aObj->"id"=1
在 PHP 中,我们可以执行以下操作吗?
class a{
public $id;
}
我们可以用这样的东西访问这个字段吗?
$x='id';
$aObj=new a();
$aObj->$x=1;//or $aObj->"id"=1
是的,你可以,但不鼓励。
要使用类似的东西,$aObj->"id"=1
只需将名称放入括号中
$aObj->{"id"} = 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 测试)