Example #1
0
 /**
  * 将对象返回成数据,若数据为对象也会一并转换
  *
  */
 public function getArrayCopy()
 {
     $arr = array();
     foreach ($this->_offset_data as $k => $v) {
         if (is_object($v)) {
             if (method_exists($v, 'getArrayCopy')) {
                 $arr[$k] = $v->getArrayCopy();
             } elseif (method_exists($v, '__toString')) {
                 $arr[$k] = $v->__toString();
             } elseif ($v instanceof stdClass) {
                 $arr[$k] = (array) stdClass;
             } else {
                 $arr[$k] = get_object_vars($v);
             }
         } else {
             $arr[$k] = $v;
         }
     }
     # 获取public的数据
     $k = array_keys(OOP_ORM_Parse::get_object_vars($this));
     if ($k) {
         foreach ($k as $v) {
             $arr[$v] = $this->{$v};
         }
     }
     return $arr;
 }