我对我遇到的一些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
中的任何名称,但它会如何工作?是否可以在运行时将成员变量添加到类中?
答案 0 :(得分:20)
它会查找“k”的值,并将其视为变量名称。这两个样本是相同的:
echo ($obj->myvar);
####
$k = "myvar";
echo ($obj->$k);
答案 1 :(得分:5)
我认为这是variable variables的情况。