属性数组 foreach ($vars as $name => $value) { $this->$name = isset($para[$name]) ? $para[$name] : $value; # 取参数中的或者默认值 } } /** * 从对象加载数据(赋值给自己的字段) * @param array/Object $obj */ public function LoadFrom($obj) { if (func_num_args() != 1 || is_null($obj)) { die("too many args or arg obj was null!"); } $para = is_array($obj) ? $obj : (array) $obj; # 转关联数组 $vars = get_class_vars(get_class($this)); # 后期绑定,获得实例的实际类名称=>属性数组 foreach ($vars as $name => $value) { if (isset($para[$name])) { $this->$name = $para[$name]; # 取参数中的或者默认值 } } return $this; } public function __toString() { return $this->toString(); } public function toString() { $str = JsonUtil::encode($this); return $str; } }