繁体   English   中英

使用变量来描述类的变量

[英]Use a var to describe a var of a class

基本上,我想访问一个类的变量,但是我会动态更改所需变量的名称。 我在解释时有些问题,但是请看一下我的代码,也许它会变得更加清晰:

$requirement = array('req1','req2');
foreach($requirements as $requirement)
        {
            // CHECK FOR REQUIRED PARAMETERS
            if(!isset($this->$requirement)) { echo 'foo'; }
        }

所以我实际上想访问$this->req1等,但是如何使用迭代器变量访问它呢? 我不确定这是否正确,很难找出答案。

另外:在相同情况下,我将如何访问父母变量?

$$(或使用魔术吸气剂/设置器)

if(!isset($this->$$requirement)) { echo 'foo'; } 

要么

if(!isset($this->{$requirement})) { echo 'foo'; } 

正如Mark所说,我会使用魔术吸气剂和吸气剂。 像这样:

<?php

class MyClass
{
    protected $data;

    public function __get($key)
    {
        return $this->data[$key]
    }

    public function __set($key, $value)
    {
        $this->data[$key] = $value;
    }
}

$var = 'adsdas';
$var2 = 'sadkajds';

$obj = new MyClass;
$obj->$var = 1;
$obj->$var2 = 1;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM