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

标签 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 中的任何名称命名,但它如何工作?是否可以在运行时向类添加成员变量?

最佳答案

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

echo ($obj->myvar);

####

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

关于php - 在 PHP 中 $this-> 之后使用美元符号是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/217612/

相关文章:

php - 将数据移动到新表并添加新数据

c - 错误 : expected identifier or ‘(’ before ‘=’ token

c# - 什么时候在字符串前使用@更好?

Python如何拥有一个我可以执行并从中导入的模块

java - Java 中的 Final 属性与没有 Setter 方法的 Private 属性

c++ - 在 C++ 中包含父类对象的子类有什么问题(如果有的话)?

javascript - 使用另一个文件中的 session 变量创建 Json 对象

php - 需要 echo 来评估变量两次。从 mySQL 数据库中获取变量名,然后解析该变量

php - 检测到路径错误的 Apache 服务

powershell - 一次设置多个属性 - 相当于 VB 的 With 语句以提供隐含的对象上下文