从php中的字符串获取类字段的值

从php中的字符串获取类字段的值,php,Php,我有一个课堂问题。我正在扩展这个类的其他类。假设在扩展Base的新类中,我设置了字段$key=“two”。现在,$this->two的值是我用来查找/替换/更新数据库中的行的主键 我希望能够调用save函数。要做到这一点,我需要知道关键值是什么。如果字段$key等于“2”,如何获得$this->two的值 我这样问是因为根据扩展Base的类,键并不总是两个,可能是一个或三个 在这个例子中,我有一个getKeyValue方法,它显示了我想要做的事情 class Base{ public

我有一个课堂问题。我正在扩展这个类的其他类。假设在扩展Base的新类中,我设置了字段$key=“two”。现在,$this->two的值是我用来查找/替换/更新数据库中的行的主键

我希望能够调用save函数。要做到这一点,我需要知道关键值是什么。如果字段$key等于“2”,如何获得$this->two的值

我这样问是因为根据扩展Base的类,键并不总是两个,可能是一个或三个

在这个例子中,我有一个getKeyValue方法,它显示了我想要做的事情

class Base{

    public $table, $class, $key;
    public $one, $two, $three;

    public function __construct()
    {
      $this->class="" . __CLASS__;
          $this->key="user_id";
    }
    public function __destruct()
    {
      //echo 'The class "', __CLASS__, '" was destroyed.<br />';
    }

    public function __toString()
    {

      return "Cannot output Base Class as a string";
    }
    public function getKeyValue(){
        return $this->$key;

    }
}
类基{
公共$table、$class、$key;
公费一元,二元,三元;;
公共函数构造()
{
$this->class=“”。\uuuuu class\uuuuuuuu;
$this->key=“user\u id”;
}
公共函数_udestruct()
{
//echo“类”已被销毁。
; } 公共函数 { 返回“不能将基类作为字符串输出”; } 公共函数getKeyValue(){ 返回$this->$key; } }
$this->{$this->key}
为什么要经历所有这些间接过程?子对象的构造函数应该只在一个固定键中存储适当的值,例如
函数uu construct(){$this->key='two'}
,然后它就是
$this->key
,不管您处理的是哪个特定实例。@ClémentMalet:是的,请直接阅读它。