0

我正在使用我创建的新类对象。该类包含 30 多个变量,需要根据 MySQL 查询返回的结果进行设置。

我目前正在设置这样的变量:

    class MyClass {
        public static $id = null;
        public static $name = null;
        public static $description = null;
        public static $tags = null;
        public static $url = null;

        public function __construct( $params = null ) {

            if( $params != null ) {
                $this->id = $params->id;
                $this->name = $params->name;
                $this->description = $params->description;
                $this->tags = $params->tags;
                $this->url = $params->url;
            }
        }
    }

我想要做的是在构造函数中,循环访问 $params 变量并根据 $params 中的键->值对自动设置类中的变量。

所以在伪代码中:

for( size of $params ) {
    $this->($paramkeyname) = $params->($samekeyname);
}

这是否可以使用动态变量调用或者任何人都可以提出更简单的方法?

4

1 回答 1

2

只需使用一个foreach

foreach($params AS $key => $val){
    $this->$key = $val;
}

只要确保你传入一个数组

public function __construct(array $params = array()) {
于 2013-01-28T20:10:51.520 回答