$name=aaa;
$this->$name 等於 $this->aaa;
$this->aaa是類變量

解决方案 »

  1.   


    class a
    {
     private $name;
     $this->name; private $$name;
     $this->$name;
    }
      

  2.   

    <?php 
             class classname{
    private $attribute;
    function __get($name)
    {
    echo "__get"."<br />";
    return $this->$name."<br/>";
    }
    function __set($name,$value)
    {
    echo "__set"."<br />";
    $this->$name=$value;
    }
    } $a = new classname;
    $a->attribute = 90;
    echo $a->attribute;
    ?>此时输出:
    __set
    __get
    90
    但是把类外语句改为:
    $a->$attribute = 90;
    echo $a->$attribute;(或echo $a->attribute;)
    就只输出:
    __set
    __get何解呢?