我正在使用我创建的新类对象。该类包含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);
}
这是否可以使用动态变量调用,或者任何人都可以建议更简单的方法吗?
答案 0 :(得分:2)
只需使用foreach
foreach($params AS $key => $val){
$this->$key = $val;
}
请确保您传入数组
public function __construct(array $params = array()) {