在$ this->之后使用美元符号会是什么?用PHP表示?

时间:2008-10-20 05:49:26

标签: php syntax oop

我对我遇到的一些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 个答案:

答案 0 :(得分:20)

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

echo ($obj->myvar);

####

$k = "myvar";
echo ($obj->$k);

答案 1 :(得分:5)

我认为这是variable variables的情况。