代码之家  ›  专栏  ›  技术社区  ›  Steven Oxley

在PHP中,在$this->后面使用美元符号意味着什么?

  •  5
  • Steven Oxley  · 技术社区  · 17 年前

    我对我遇到的一些PHP语法有点困惑。以下是一个例子:

    $k = $this->_tbl_key;
    
    if( $this->$k)
    {
       $ret = $this->_db->updateObject( $this->_tbl, $this, $this->_tbl_key, $updateNulls );
    }
    else
    {
        $ret = $this->_db->insertObject( $this->_tbl, $this, $this->_tbl_key );
    }
    

    我的问题基本上是,你做什么 $this->$k $this->_tbl_key ,但那怎么办呢?是否可以在运行时向类添加成员变量?

    2 回复  |  直到 17 年前
        1
  •  21
  •   John Millikin    17 年前

    它将查找“k”的值,并将其视为变量名。这两个样本是相同的:

    echo ($obj->myvar);
    
    ####
    
    $k = "myvar";
    echo ($obj->$k);
    
        2
  •  5
  •   Paolo Bergantino    17 年前

    我认为这是一个严重的问题 variable variables .

    推荐文章