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意味ですか? にあるものの名​​前で呼ばれるメンバー変数を意味するかもしれないと考えましたが、それは$this->_tbl_keyどのように機能しますか? 実行時にメンバー変数をクラスに追加することはできますか?

4

2 に答える 2

21

「k」の値が何であれ検索し、変数名として扱います。次の 2 つのサンプルは同じです。

echo ($obj->myvar);

####

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

それは可変変数の場合だと思います。

于 2008-10-20T05:51:53.697 に答える