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

Ste*_*ley 6 php oop syntax

我对我遇到的一些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 );
}
Run Code Online (Sandbox Code Playgroud)

我的问题基本上是什么$this->$k意思?我认为这可能意味着成员变量的名称是什么$this->_tbl_key,但是如何工作?是否可以在运行时将成员变量添加到类中?

Joh*_*kin 20

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

echo ($obj->myvar);

####

$k = "myvar";
echo ($obj->$k);
Run Code Online (Sandbox Code Playgroud)


Pao*_*ino 5

我相信这是变量变量的一个例子.

  • @Garrett:除了它? (3认同)