7

我对遇到的一些 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意思?我认为这可能意味着成员变量的名称为 in $this->_tbl_key,但它是如何工作的呢?是否可以在运行时将成员变量添加到类中?

4

2 回答 2

21

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

echo ($obj->myvar);

####

$k = "myvar";
echo ($obj->$k);
于 2008-10-20T05:51:35.117 回答
5

我相信这是可变变量的情况。

于 2008-10-20T05:51:53.697 回答