-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(PHP5.3でテスト済み)

于 2012-04-08T11:09:48.863 に答える