如何根据返回的MySQL对象设置对象变量

时间:2013-01-28 20:09:25

标签: php mysql

我正在使用我创建的新类对象。该类包含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中的key->值对自动设置类中的变量。

所以在伪代码中:

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

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

1 个答案:

答案 0 :(得分:2)

只需使用foreach

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

请确保您传入数组

public function __construct(array $params = array()) {