使用PHP在对象中设置公共值

使用PHP在对象中设置公共值,php,oop,methods,static,public,Php,Oop,Methods,Static,Public,我想使用公共方法在对象中设置我的值。但我找不到办法让它工作 <?php class User{ public $id; public function ToSynchData(){ $this->$id = "1"; } } $new = new User; $new->ToSynchData();

我想使用公共方法在对象中设置我的值。但我找不到办法让它工作

<?php
        class User{
            public $id;

            public function ToSynchData(){
                $this->$id = "1";
            }
        }
        $new = new User;
        $new->ToSynchData();
        $new->$id;
    ?>

编辑: 为什么突然静止了

class User{
    public $id;
    public function ToSynchData(){
        $this->id = "1";
    }
}

$new = new User();
$new->ToSynchData();
print_r($new->id);
编辑:
为什么突然静止了

您试图使用
->
访问静态属性

class User{
    public $id;
    public function ToSynchData(){
        $this->id = "1";
    }
}

$new = new User();
$new->ToSynchData();
print_r($new->id);
无法通过使用的对象访问静态属性 箭头运算符->


因此,要访问它,您必须将它从
静态公共
更改为
公共

您试图使用
->
访问静态属性,而它写得很清楚

无法通过使用的对象访问静态属性 箭头运算符->


因此,要访问它,您必须将其从
静态公共
更改为
公共

什么!伙计们,这很有效!但我真的想知道我试过几次,但都没用。谢谢如果有效,请接受。:)(点击向下箭头下的V)哦,顺便说一下,你的问题是你引用变量的方式。它是$this->var,而不是$this->$var。请参见访问修饰符。它是
public
,而OP是
static public
它只是公开的,他修改了自己的帖子。真糟糕!伙计们,这很有效!但我真的想知道我试过几次,但都没用。谢谢如果有效,请接受。:)(点击向下箭头下的V)哦,顺便说一下,你的问题是你引用变量的方式。它是$this->var,而不是$this->$var。请参见访问修饰符。它是
public
,而OP是
staticpublic
它只是公开的,他修改了他的帖子。